如何使用SMTP和Perl向我的Gmail帐户发送电子邮件?
我不想使用sendmail发送电子邮件,但更愿意使用SMTP。如何使用Perl向我的GMAIL帐户发送电子邮件?例如,CPAN上有多个SMTP模块。另外,sendmail很可能使用SMTP与邮件服务器通信,那么您不想使用它的真正原因是什么呢?如果您不熟悉(全面的Perl归档网络),我建议您将该站点添加为书签。它包含第三方(大部分经过良好测试)库如何使用SMTP和Perl向我的Gmail帐户发送电子邮件?,perl,email,smtp,gmail,Perl,Email,Smtp,Gmail,我不想使用sendmail发送电子邮件,但更愿意使用SMTP。如何使用Perl向我的GMAIL帐户发送电子邮件?例如,CPAN上有多个SMTP模块。另外,sendmail很可能使用SMTP与邮件服务器通信,那么您不想使用它的真正原因是什么呢?如果您不熟悉(全面的Perl归档网络),我建议您将该站点添加为书签。它包含第三方(大部分经过良好测试)库 一个演示如何使用perl发送电子邮件的示例:根据评论,不清楚您是想通过Google的SMTP发送电子邮件,还是只发送一般电子邮件(可能发送到您的gmai
一个演示如何使用perl发送电子邮件的示例:根据评论,不清楚您是想通过Google的SMTP发送电子邮件,还是只发送一般电子邮件(可能发送到您的gmail帐户)。你应该退房,可能的话 或者,如果你真正想问的是如何将电子邮件从一个非Gmail的地方移动到另一个Gmail,我很幸运使用了IMAP和后端。您可以看到一个使用示例。我碰巧使用了它,它是
Net::SMTP
的包装器,用于简化构建电子邮件对象、文件附件和发送有效负载的过程
如果您不熟悉安装模块,请检查:
在Windows上,使用ActiveState Perl包管理器(在“开始”菜单中)
在Unix上,使用CPAN:$sudo CPAN Module::Name
在托管Unix帐户上:我个人建议您使用我的模块 这在谷歌邮件的TLS中运行得非常好 谢谢
use Email::Send;
my $mailer = Email::Send->new( {
mailer => 'SMTP::TLS',
mailer_args => [
Host => 'smtp.gmail.com',
Port => 587,
User => 'username@gmail.com',
Password => 'password',
Hello => 'fayland.org',
]
} );
use Email::Simple::Creator; # or other Email::
my $email = Email::Simple->create(
header => [
From => 'username@gmail.com',
To => 'to@mail.com',
Subject => 'Subject title',
],
body => 'Content.',
);
eval { $mailer->send($email) };
die "Error sending email: $@" if $@;
我一直在使用,而且运气很好。您可能想了解的另一种可能性是使用CPAN中的模块。这将允许您将电子邮件从您的Gmail帐户发送到任何帐户(例如,发送给您自己)如果您只是不喜欢sendmail,另一种选择是使用另一个MTA 以下是我使用gmail在我的机器上安装的说明: 如果您收到有关无法验证来自Thawte Premium Server CA的证书的警告,这可能也很有用。 (如林菲兰的回答中所用)被弃用: 电子邮件::发送正在消失。。。嗯,并不是真的要走,但它是 被官方标记为“失宠” 这对我很有用,使用首选的电子邮件::发件人:
use strict;
use warnings;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTPS ();
use Email::Simple ();
use Email::Simple::Creator ();
my $smtpserver = 'server';
my $smtpport = 587;
my $smtpuser = 'username';
my $smtppassword = 'password';
my $transport = Email::Sender::Transport::SMTPS->new({
host => $smtpserver,
port => $smtpport,
ssl => "starttls",
sasl_username => $smtpuser,
sasl_password => $smtppassword,
});
my $email = Email::Simple->create(
header => [
To => 'mymail@gmail.com',
From => 'sender@example.com',
Subject => 'Hi!',
],
body => "This is my message\n",
);
sendmail($email, { transport => $transport });
我真的不明白这个问题:你想直接和谷歌的SMTP服务器通话吗?还是你自己的?关于这个问题,gmail有什么特别的吗?Email::Send最近被弃用,取而代之的是Email::SenderOP说:“我不想使用sendmail”