【发布时间】:2015-09-06 23:16:56
【问题描述】:
我想设置一个基本的电子邮件发件人。这是为了验证我网站上用户的电子邮件,并给他们一个可以点击的令牌。服务器未设置电子邮件。它是一个普通的 ubuntu 盒子,我真的不想运行邮件服务器,部分原因是我不想担心另一个开放端口。我还希望编程简单,避免垃圾邮件过滤器。
首先,我试用了 Gmail。
use Net::SMTP::TLS;
my $mailer = new Net::SMTP::TLS( 'smtp.gmail.com',
Hello => 'smtp.gmail.com',
Port => 587,
User => $me2,
Password=> $pw);
但我收到有关“Gmail 的 Net::SMTP::TLS => SSL_version 无效”的投诉。
然后我尝试了 Email::Send::Gmail。
my $email_address = $me;
($me =~ /^[\w\-_\.]+\@[\w\-_\.]+$/) or die "$email_address is invalid";
use Email::Send;
use Email::Send::Gmail;
use Email::Simple::Creator;
my $email = Email::Simple->create(
header => [
From => $me,
To => $me,
Subject => 'Testing',
],
body => 'Testing email sending with perl.',
);
my $sender = Email::Send->new(
{ mailer => 'Gmail',
mailer_args => [
username => $me2,
password => $pw,
]
}
);
eval { $sender->send($email) };
die "Error sending email: $@" if $@;
这个人抱怨 Return::Value 已被弃用。然后,它失败了——可能是因为我的 gmail 帐户有双重身份验证。这对我想要的来说太复杂了。
对于这个简单的任务,推荐的最简单方法是什么?
【问题讨论】:
-
为什么不为此目的创建第二个 GMail 帐户并关闭双重身份验证?
-
您可以尝试使用 mail / mailx / email 或类似的命令来查看是否可以使用它们发送邮件吗?这样您就可以知道问题出在您的代码中还是其他地方