首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >354用<CR><LF>.<CR><LF> perl使用Net::SMTP:

354用<CR><LF>.<CR><LF> perl使用Net::SMTP:
EN

Stack Overflow用户
提问于 2016-05-19 02:02:36
回答 1查看 4.2K关注 0票数 1

我正在编写一个perl脚本,用于发送电子邮件和附加压缩文件,但是有错误

以下是运行代码时出现的错误:

代码语言:javascript
复制
        Net::SMTP::SSL=GLOB(0x1b79e68)>>> RCPT TO:<ttranquang@tiaxa.as>
        Net::SMTP::SSL=GLOB(0x1b79e68)<<< 250 2.1.5 Ok
        Net::SMTP::SSL=GLOB(0x1b79e68)>>> DATA
        Net::SMTP::SSL=GLOB(0x1b79e68)<<< 354 End data with <CR><LF>.<CR><LF>

======

代码语言:javascript
复制
$msg = MIME::Lite->new(
        To =>'ttranquang@tiaxa.as',
        Subject =>'VTT:Daily Report ['.$TimeDate.']',
        Type    => 'multipart/mixed'
    );
    ### Create a part:
    $part = MIME::Lite->new(
        Top      => 0,
        Type     =>'text/html',
        Data     =>'<H1>Daily Report</H1>',
    );
    $part->attr('content-type.charset' => 'UTF-8');

    $part->add('X-Comment' => 'A report for you');
    $msg->attach($part);
          $msg->attach(
                        Type     => 'application/zip',
                        Path     => '/home/appaxa/scripts/rommel/send_report',
                        Filename => 'dailyreport.zip',
                        Dispostion => 'attachment'
                    );
    $msg->send();

my $smtp;
$smtp = Net::SMTP::SSL->new($host, Port=>465, Debug   => 1,
                           SSL     => 0,) or die "Can't connect";
$smtp->auth($user, $pass)                 or die "Can't authenticate:".$smtp->message();
$smtp->mail('xtime@tel.co')       or die "Error:".$smtp->message();
$smtp->to('ttranquang@tiaxa.as') or die "Error:".$smtp->message();

$smtp->data()                    or die "Error:".$smtp->message();
$smtp->datasend($msg) or die "Error:".$smtp->message();
$smtp->dataend()                 or die "Error:".$smtp->message();
$smtp->quit()                    or die "Error:".$smtp->message()

这里有什么问题??谢谢大家。

EN

回答 1

Stack Overflow用户

发布于 2016-05-20 20:12:12

$smtp->数据端($msg)或死“错误:”.$smtp->message();

$msg是MIME::Lite对象,而不是字符串。这里您想要的是一个字符串,即$msg->as_string

此外,您在前面调用$msg->send,这意味着它已经尝试通过默认传输发送消息。这是没有意义的,除非你想发送两次信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37312790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档