perl 邮件发送示例详解

一、使用 Mail::Sender模块
先申请一个163的邮箱;

#!/usr/bin/perl

use warnings;
use strict;
use Mail::Sender;

my $sender = new Mail::Sender
{
  smtp    => 'smtp.163.com',
  from    => '[email protected]",
  auth    => "LOGIN",
  authid  => "yourmail",
  authpwd => "your_mail_password"
} or die "error";


my $message = "hello , give you some message";


if($sender-> MailMsg ({
             to      => '[email protected]',
             subject => "test" ,
             msg     =>  $message, })<0)
{
  die "$Mail::Sender::Error/n";
}
$sender->Close();


二、使用Net::SMTP_auth

#!/usr/bin/perl

use warnings;
use strict;
use Net::SMTP_auth;

&send_mail();
print "send mail over\n";


# mail_user should be [email protected]
sub send_mail{
  my $to_address  = '[email protected]';
  my $mail_user   = '[email protected]';
  my $mail_pwd    = 'your_mail_password';
  my $mail_server = 'smtp.163.com';


  my $from    = "From: $mail_user\n";
  my $subject = "Subject: here comes the subject\n";


  my $message = <<CONTENT; 
  **********************
    here comes the content
    **********************
CONTENT


  my $smtp = Net::SMTP->new($mail_server,
                            Timeout =>120,
                            Debug   =>1) or die "ERROR! $!";
  $smtp->auth('LOGIN', $mail_user, $mail_pwd) || die "Auth Error! $!";
  $smtp->mail($mail_user);
  $smtp->to($to_address);


  $smtp->data();             # begin the data
  $smtp->datasend($from);    # set user
  $smtp->datasend($subject); # set subject
  $smtp->datasend($message); # set content
  $smtp->dataend();


  $smtp->quit();

你可能感兴趣的:(perl 邮件发送示例详解)