【问题标题】:How can I send mail to Gmail with an attachment, in Perl?如何在 Perl 中将带有附件的邮件发送到 Gmail?
【发布时间】:2009-10-05 17:37:42
【问题描述】:

如何使用 Perl 将邮件发送到 Gmail?这是我正在尝试的:

my $mailer = Email::Send->new(
    {
        mailer      => 'SMTP::TLS',
        mailer_args => [
            Host     => 'smtp.gmail.com',
            Port     => 587,
            User     => 'xxx',
            Password => 'xxx',
        ]
    }
);

use Email::Simple::Creator;    # or other Email::

use File::Slurp;
@arrIrc = read_file("$ircFile");
my $email = Email::Simple->create(
    header => [
        From    => 'xxx',
        To      => "$configList{email}",
        Subject => "The summary of logfile $channelName",
    ],
    body => "@arrIrc",
);

【问题讨论】:

  • 到 Gmail 和使用 Gmail(即一旦我对 gmail 进行身份验证,然后使用此 gmail 将邮件发送到其他帐户)
  • 我能够发送没有附件的邮件。在下一条评论中,我将上传脚本。
  • 我的 $mailer = Email::Send->new( { mailer => 'SMTP::TLS', mailer_args => [ Host => 'smtp.gmail.com', Port => 587 , 用户 => 'hari.sujith@gmail.com', 密码 => 'xxx', ] });使用电子邮件::Simple::Creator; # 或其他 Email:: 使用 File::Slurp; @arrIrc = read_file("$ircFile"); my $email = Email::Simple->create( header => [ From => 'hari.sujith@gmail.com', To => "$configList{email}", Subject => "日志文件摘要 $channelName ", ], body => "@arrIrc", );

标签: perl email gmail attachment


【解决方案1】:

使用Net::SMTP::SSL 与GMail 交谈。

有关示例,请参阅 Perlmonks 上的 MIME::Lite inline images

【讨论】:

  • SMTP 用于传输。如果您有格式正确的消息(Mime-Lite 可以帮助您),那么它会很乐意发送您发送的任何内容。
【解决方案2】:

如果您想向 Gmail 发送邮件,您可以执行与在任何地方发送邮件相同的操作。如果您想通过 Gmail 发送邮件,则有 Email::Send::Gmail 模块。只需在 Google 中输入您的问题,我就会找到 Mark Sanborn 的Sending Mail Through Gmail with Perl

【讨论】:

  • 不幸的是,Mark 的文章使用了严重损坏且未维护的 Net::SMTP::TLS。例如,如果您尝试添加附件,它会复制并削弱您的附件。现在有 Net::SMTP::TLS::ButMaintained 可以工作,但会导致严重的命名空间污染。见search.cpan.org/perldoc?Net::SMTP::TLS::ButMaintained
【解决方案3】:

您可以使用MIME::Lite 撰写邮件,然后将其发送到本地 sendmail 进程。但是,为了与 gmail 的服务器通信,您需要 have SSL certificates set upsuperuser 上可能有更详细的说明。

【讨论】:

  • 所以你的意思是说,一旦手动设置了 SSL 证书,我就可以使用 MIME::Lite 向 gmail 发送带有附件的邮件(前提是我已经提供了 gmail 帐户的用户名和密码)。对吗?
猜你喜欢
  • 2020-01-01
  • 2018-04-27
  • 2016-05-29
  • 2018-08-28
  • 2018-11-11
  • 2016-09-22
  • 2016-07-04
  • 1970-01-01
  • 2014-12-11
相关资源
最近更新 更多