用Net::SMTP发送带附件的邮件

32 篇文章 1 订阅
use Net::SMTP;
use MIME::Lite;

my $DESTINATION = '3.3.3.3';
my $DOMAIN1             = "pc1.com";
my $DOMAIN2             = "pc2.com";
my $MAIL_USR1           = 'test001';
my $PSW1                = 'test001';
my $MAIL_USR2           = 'test002';
my $PSW2                = 'test002';
my $mail_from    = $MAIL_USR1."@".$DOMAIN1;
my $mail_to      = $MAIL_USR2."@".$DOMAIN2;
my $mail_subject = "SMTP test";
my $mail_attach  = "/tmp/conf/klez.h.bin"; // 这个参数是给后面Path传的,必须写到文件名,不能只写到文件前面的路径部分,否则传过去只有文件名而没有文件内容。
my $attach_name  = "klez.h.bin";
my $mail_content = $mail_subject;
$smtp = Net::SMTP->new(
              $DESTINATION,
              Port=>25,
              Hello=>"pc1.com",
              Debug=>1
);

die("smtp undefined: $@") if !defined $smtp;
    
#my $auth_return = $smtp->auth($MAIL_USR1,$PSW1);
#die("auth error: $@") if !defined $auth_return;
    
my $msg=MIME::Lite->new(
        From    => $mail_from,
        To      => $mail_to,
        Subject => $mail_subject,
        Data    => $mail_content,);
    
$msg->attach(
        Type     => 'AUTO',
        Path     => $mail_attach,
        Filename => $attach_name,);
    
my $content_string=$msg->as_string() or die "$!";
    
$smtp->mail($mail_from);
$smtp->to($mail_to);
$smtp->data();
$smtp->datasend($content_string);
$smtp->dataend();
$smtp->quit;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值