我正在遵循以下示例这个网站 http://www.tutorialspoint.com/perl/perl_sending_email.htm使用 Perl 发送电子邮件。代码看起来像这样:
my $hostname = `hostname`;
my $this_day = `date`;
my $email = "i.h4d35\@gmail.com";
my $to = "$email";
my $from = "admin\@$hostname";
my $subject = "SCHEDULE COMPLETE - $this_day";
my $message = "Student schedule for today, completed for the following students: \n\n$names\n\nHave a nice day...";
open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";
print MAIL $message;
close(MAIL);
邮件已发送,但主题出现在邮件正文中,并且电子邮件没有主题。我该如何解决?
PS:还没来得及使用MIME::Lite
但我仍在学习这一点。
使用网站上的示例是一个坏主意。
尤其是任何指导您直接制作和发送低级格式的网站。
您不应手动实现以下任何格式:
许多网站无益地详细说明了如何做,而他们应该只是告诉您如何使用模块来完成这些任务。
这是一种更简单的方法,使用 Email::Sender 和 Email::Simple,这两个软件都是由以处理电子邮件为生的人编写的优质软件。
use strict;
use warnings;
my $hostname = `hostname`;
my $this_day = `date`;
use Email::Simple;
use Email::Simple::Creator;
use Email::Sender::Simple qw(sendmail);
my $email = Email::Simple->create(
header => [
From => "admin\@$hostname",
To => "i.h4d35\@gmail.com",
Subject => "SCHEDULE COMPLETE - $this_day",
],
body => "Student schedule for today, completed for the following students: \n\n$names\n\nHave a nice day..."
);
sendmail($email);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)