我不想使用sendmail发送电子邮件,但宁愿使用SMTP。我如何使用Perl将电子邮件发送到我的GMAIL帐户?如何使用SMTP和Perl将电子邮件发送到我的Gmail帐户?
回答
个人我建议你使用我的模块Email::Send::SMTP::TLS 它工作得很好通过谷歌邮件的TLS 。
谢谢。
use Email::Send;
my $mailer = Email::Send->new({
mailer => 'SMTP::TLS',
mailer_args => [
Host => 'smtp.gmail.com',
Port => 587,
User => '[email protected]',
Password => 'password',
Hello => 'fayland.org',
]
});
use Email::Simple::Creator; # or other Email::
my $email = Email::Simple->create(
header => [
From => '[email protected]',
To => '[email protected]',
Subject => 'Subject title',
],
body => 'Content.',
);
eval { $mailer->send($email) };
die "Error sending email: [email protected]" if [email protected];
CPAN上有多个SMTP模块,例如Net::ESMTP。另外,sendmail很可能使用SMTP来与邮件服务器通信,所以你不想使用它的真正原因是什么?
如果您不熟悉CPAN(Comprehensive Perl Archive Network),我建议您为该网站添加书签。它包含第三方(主要是经过良好测试的)库。
展示了如何使用Perl来发送电子邮件的一个例子:http://www.perlfect.com/articles/sendmail.shtml
OP说:“我不想用sendmail” – jfs 2009-02-18 13:44:45
按照注释,它如果要通过谷歌的SMTP发送电子邮件,或只是一般发送电子邮件(也许您的Gmail帐户),目前尚不清楚。你应该检查出Email::Send和可能Email::Send::Gmail。
另外,如果您真正要问的是如何将电子邮件从不是Gmail的地方移动到Gmail,我使用IMAP使用Mail::Box和Mail::Box::IMAP4::SSL后端的运气非常好。您可以看到使用示例here。
Email ::发送最近已被弃用,转而使用电子邮件::发件人 – 2009-02-18 12:09:07
我碰巧使用了MIME::Lite
,这是一个围绕Net::SMTP
的包装,用于简化构建电子邮件对象,文件附件和发送有效负载的过程。
如果你不熟悉安装模块,请查阅:
在Windows上,使用的ActiveState Perl的包管理器(在开始菜单)
在Unix上,使用CPAN:$ sudo cpan Module::Name
在托管的Unix帐户:How can I install a CPAN module into a local directory?
您可能想要查看的另一种可能性是使用CPAN的Email::Send::Gmail模块。这将允许你从你的Gmail帐户发送电子邮件到任何帐户(例如,给你自己)
如果你只是不喜欢sendmail,另一种选择是使用Postfix,另一个MTA。
这里是我跟着把它安装在我的机器上的说明,使用Gmail: http://souptonuts.sourceforge.net/postfix_tutorial.html
如果你得到一个关于未能验证来自Thawte的高级服务器CA的证书警告这可能是太有用, http://ubuntuforums.org/archive/index.php/t-894355.html
Email::Send(如Fayland林的回答中)被弃用:
电子邮件发送::是怎么回事了......嗯,不是真的要离开,但它 被正式标志着“出来的青睐“。
这个工作对我来说,使用首选电子邮件发件人:::
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 => '[email protected]',
From => '[email protected]',
Subject => 'Hi!',
],
body => "This is my message\n",
);
sendmail($email, { transport => $transport });
- 1. 无法使用smtp gmail帐户发送电子邮件
- 2. 如何使用Gmail的SMTP和Indy 10发送电子邮件?
- 3. SMTP不在gmail商业帐户中发送电子邮件
- 4. 通过SMTP从GMail或Yahoo帐户发送电子邮件
- 5. 如何使用appengine从非gmail帐户发送电子邮件
- 6. 与Gmail的SMTP发送电子邮件
- 7. 发送电子邮件到我的gmail帐户
- 8. 使用PHP发送电子邮件到Gmail帐户
- 9. 如何使用我的GMAIL帐户使用PHP发送电子邮件?
- 10. 使用Firebase中的非Gmail帐户通过SMTP发送电子邮件
- 11. 使用您的Gmail帐户发送电子邮件作为SMTP服务器
- 12. PHP邮件功能不发送电子邮件到Gmail帐户
- 13. 发送SMTP的Gmail电子邮件'发送邮件失败'
- 14. CodeIgniter上的SMTP显示成功,但电子邮件未发送到Gmail帐户
- 15. 如何使用PHPMailer和localhost SMTP将邮件发送到Gmail?
- 16. 使用PHPMailer和GMAIL发送电子邮件SMTP
- 17. 如何使用Gmail帐户从php邮件功能发送电子邮件?
- 18. SMTP并未发送所有电子邮件在Gmail邮箱企业帐户
- 19. 使用Goddady从Gmail帐户发送电子邮件
- 20. VB .Net使用Gmail帐户发送电子邮件
- 21. 使用Gmail帐户通过C++发送电子邮件
- 22. 使用Java在gmail帐户上发送电子邮件
- 23. 如何通过gmail帐户从bash发送电子邮件?
- 24. 如何使用我的Outlook帐户发送电子邮件?
- 25. 发送电子邮件到Gmail帐户asp.net
- 26. 用于发送gmail帐户电子邮件的端口
- 27. cPanel在wordpress插件中使用gmail smtp发送电子邮件
- 28. 电子邮件不发送使用主机上的Gmail smtp
- 29. 使用smtp和Gmail在Android上发送电子邮件如何使其工作
- 30. 用ASP .Net和Gmail发送电子邮件SMTP
我真的不明白的问题是:你想直接与谷歌的SMTP服务器?还是你自己?有关于这个问题的具体的gmail吗? – innaM 2009-02-18 10:19:04