如果您正在使用Linux/Unix机器,那么您只需使用 sendmail 在Perl程序中发送电子邮件的实用程序.这是一个示例脚本,可以将电子邮件发送到给定的电子邮件ID.只需确保sendmail实用程序的给定路径是正确的.这可能与您的Linux/Unix机器不同.
#!/usr/bin/perl $to = 'abcd@gmail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = 'This is test email sent by Perl Script'; open(MAIL, "|/usr/sbin/sendmail -t"); # Email Header print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; # Email Body print MAIL $message; close(MAIL); print "Email Sent Successfully\n";
实际上,上面的脚本是一个客户端电子邮件脚本,它将起草电子邮件并提交给在Linux/Unix机器上本地运行的服务器.此脚本不负责将电子邮件发送到实际目的地.因此,您必须确保在计算机上正确配置并运行电子邮件服务器,以便将电子邮件发送到给定的电子邮件ID.
如果您想使用sendmail发送HTML格式的电子邮件,那么您只需在电子邮件的标题部分添加 Content-type:text/html \ n ,如下所示;
#!/usr/bin/perl $to = 'abcd@gmail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = '<h1>This is test email sent by Perl Script</h1>'; open(MAIL, "|/usr/sbin/sendmail -t"); # Email Header print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; print MAIL "Content-type: text/html\n"; # Email Body print MAIL $message; close(MAIL); print "Email Sent Successfully\n";
如果您正在使用Windows机器,那么您将无法访问sendmail实用程序.但您可以使用MIME:Lite perl模块编写自己的电子邮件客户端.您可以从<a href="https://img01.yuandaxia.cn/Content/img/tutorials/perl/MIME-Lite-3.01.tar.gz" rel="nofollow"" target="_blank"> MIME-Lite-3.01.tar.gz下载此模块并将其安装在您的计算机Windows或Linux/Unix上.要安装它,请按照简单的步骤&减去;
$tar xvfz MIME-Lite-3.01.tar.gz $cd MIME-Lite-3.01 $perl Makefile.PL $make $make install
就是这样,您将在您的机器上安装MIME :: Lite模块.现在您已准备好使用下面介绍的简单脚本发送电子邮件.
现在,以下是一个脚本,它将负责发送电子邮件给定的电子邮件ID :
#!/usr/bin/perl use MIME::Lite; $to = 'abcd@gmail.com'; $cc = 'efgh@mail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = 'This is test email sent by Perl Script'; $msg = MIME::Lite->new( From => $from, To => $to, Cc => $cc, Subject => $subject, Data => $message ); $msg->send; print "Email Sent Successfully\n";
如果您想使用sendmail发送HTML格式的电子邮件,那么您只需添加内容类型:text/html \ n 在电子邮件的标题部分.以下是脚本,它将负责发送HTML格式的电子邮件 :
#!/usr/bin/perl use MIME::Lite; $to = 'abcd@gmail.com'; $cc = 'efgh@mail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = '<h1>This is test email sent by Perl Script</h1>'; $msg = MIME::Lite->new( From => $from, To => $to, Cc => $cc, Subject => $subject, Data => $message ); $msg->attr("content-type" => "text/html"); $msg->send; print "Email Sent Successfully\n";
如果你想发送附件,那么下面的脚本可以达到目的&减去;
#!/usr/bin/perl use MIME::Lite; $to = 'abcd@gmail.com'; $cc = 'efgh@mail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = 'This is test email sent by Perl Script'; $msg = MIME::Lite-=>new( From => $from, To => $to, Cc => $cc, Subject => $subject, Type => 'multipart/mixed' ); # Add your text message. $msg->attach(Type => 'text', Data => $message ); # Specify your file as attachement. $msg->attach(Type => 'image/gif', Path => '/tmp/logo.gif', Filename => 'logo.gif', Disposition => 'attachment' ); $msg->send; print "Email Sent Successfully\n";
您可以使用attach()方法在电子邮件中附加任意数量的文件.
如果您的计算机未运行电子邮件服务器,则可以使用远程位置提供的任何其他电子邮件服务器.但要使用任何其他电子邮件服务器,您需要拥有ID,密码,URL等.一旦获得所有必需信息,您只需要在 send()方法中提供该信息跟随&减去;
$msg->send('smtp', "smtp.myisp.net", AuthUser=>"id", AuthPass=>"password" );
您可以联系您的电子邮件服务器管理员以获取上述信息,如果用户ID和密码尚未提供,那么您的管理员可以在几分钟内创建它