使用perl的Net::SMTP::SSL模块发送smtps带附件的邮件

本文提供了一个使用Perl语言通过Net::SMTP::SSL模块发送带有附件的邮件的示例代码。该示例展示了如何配置SMTP服务器并利用MIME::Lite模块构建包含文本内容及附件的邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

use Net::SMTP::SSL;  
use MIME::Lite;
 
my  $mail_from = 'user1@mail.smtpstest.com';  
my  $mail_to = 'user2@mail.smtpstest.com';   
my  $mail_subject = "Perl smtps testing1\n";  
my $username = "user1";
my $password = "123";
 
sub SendAttachMail  
{  
    my $mail_content = shift;  
    my $mail_attach = shift;
 
    my $smtp = Net::SMTP::SSL->new(  
                        'mail.smtpstest.com',  
                        Hello=>'mail.smtpstest.com',  
                        Port=>465,  
                        LocalPort=>0,  
                        Debug=>1);  
 
    die("smtp undefined: $@") if !defined $smtp;  
 
    my $auth_return = $smtp->auth($username,$password);  
    die("auth error: $@") if !defined $auth_return;  
    
    my @tmp = split/\\/,$mail_attach;
    my $attach_name = pop(@tmp);
    my $msg=MIME::Lite->new(
                    From=>$mail_from,
                    To=>$mail_to,
                    Subject=>$mail_subject,
                    Type=>'TEXT',
                    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->cc($mail_cc);  
    #$smtp->bcc($mail_bcc);  
    $smtp->data();   
    $smtp->datasend($content_string);
    $smtp->dataend();  
    $smtp->quit;  
}  
SendAttachMail("附件是一个virus文件",'/test/test.txt');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值