繁体   English   中英

perl Email ::发送带有gmail的图像失败

[英]perl Email::Send with gmail fails with images

该问题与HTML图片(未显示在Gmail中)有关 ,但那里的答案无效(或不再有效)。

问题是当包含img标签的HTML格式消息立即发送时,我的perl程序(以下)失败。 图像本身是否由Google驱动器提供都没有关系。 我猜我遇到了一个新的gmail限制(我的脚本以前可以正常工作),但是我不确定。

(当然,这个问题不是我的收件人看不到图像;而是发送的Perl脚本因错误而中止-不幸的是,没有更多的信息向我解释为什么这是错误。当然,我了解我的收件人需要同意查看图片以防止跟踪。)

所以这是我的问题:

  1. 这是gmail还是perl模块问题?

  2. 是否可以发送图像,以便如果我的收件人希望查看我网站上的图像(最好不仅是我的Google驱动器中的图像,如下面的示例所示),他们可以同意查看此图像?

  3. 是否有可能从Google获得更好的错误消息,说明它为什么失败?

这是[几乎]工作代码:

#!/usr/bin/perl -w
use strict;
use warnings;

use Email::MIME::CreateHTML;
use Email::Send;
use Email::Send::Gmail;

my $toemail = 'ivo.welch@gmail.com';
my $subject = 'testing image mailing';
my $bodytext= '<html> <body> fails: <img src="https://drive.google.com/open?id=1K4psrWWolTSqx_f6MQP-T1-FMFpegT1Trg" alt="photo" />  </body> </html>\n';

use readcredentials;
my $gmailaccount= readcredentials( 'account' );
my $gmailuserlogin= readcredentials( 'userlogin');
my $gmailpasswd= readcredentials( 'gmailpassword');

eval {
  my $message = Email::MIME->create_html(
                                         header => [
                                                    From   => $gmailaccount,
                                                    To      => $toemail,
                                                    Subject => $subject,
                                                   ],
                                         body => $bodytext,
                                        );

  my $sender = Email::Send->new(
                                {   mailer      => 'Gmail',
                                    mailer_args => [
                                                    username => $gmailuserlogin,
                                                    password => $gmailpasswd,
                                                   ]
                                }
                               );

  $sender->send($message);
};
warn "Error sending email: $@" if $@;

print STDERR "emailed!\n";

我运行了您的脚本,并进行了一些修改,以消除对readcredentials的依赖性,以使其在我的环境中运行,并且电子邮件发送没有问题。 问题可能是:

  1. 您的gmail凭证可能有一些问题。
  2. 该脚本下载并附加了映像,因此您的本地环境可能正在阻止下载映像。

但是如果没有您的特定错误消息,则很难进一步诊断。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM