電子メールの送信に sendmail を使用したくありませんが、SMTP を使用したいと考えています。Perl を使用して GMAIL アカウントにメールを送信するにはどうすればよいですか?
9 に答える
コメントによると、Google の SMTP 経由でメールを送信するのか、それとも一般的なメール (おそらく gmail アカウント) を送信するのかは明確ではありません。Email::Sendと、場合によってはEmail::Send::Gmailをチェックしてください。
または、あなたが本当に求めているのが、Gmail 以外の場所から Gmail にメールを移動する方法である場合、Mail::BoxとMail::Box::IMAP4::を使用して IMAP で非常にうまくいきました。 SSLバックエンド。使用例はこちらでご覧いただけます。
私は常にMail::Senderを使用してきましたが、非常に幸運でした。
あなたが見たいかもしれないもう一つの可能性は、CPANからのEmail :: Send::Gmailモジュールを使用することです。これにより、Gmailアカウントから任意のアカウント(たとえば、自分自身)にメールを送信できるようになります
Net::ESMTPなど、CPAN には複数の SMTP モジュールがあります。また、sendmail はおそらく SMTP を使用してメール サーバーと通信しますが、それを使用したくない本当の理由は何ですか?
Email::Send (Fayland Lam の回答で使用されているように) は非推奨です:
Email::Send は廃止されます... まあ、実際に廃止されるわけではありませんが、正式に「支持されていない」とマークされています。
これは、優先する Email::Sender: を使用して、私にとってはうまくいきます。
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 });
私はたまたま を使用しています。これは、電子メール オブジェクト、添付ファイル、およびペイロードの送信のプロセスを簡素化するためのMIME::Lite
ラッパーです。Net::SMTP
モジュールのインストールに慣れていない場合は、次を確認してください。
Windows では、ActiveState Perl Package Manager (スタート メニュー) を使用します。
Unix では、CPAN を使用します。$ sudo cpan Module::Name
Hosted Unix アカウントの場合: CPAN モジュールをローカル ディレクトリにインストールするにはどうすればよいですか?
sendmail が気に入らないだけなら、もう 1 つのオプションは、別の MTA であるPostfixを使用することです。
gmailを使用して自分のマシンにセットアップするために従った手順は次のとおりです: http://souptonuts.sourceforge.net/postfix_tutorial.html
これは、Thawte Premium Server CA からの証明書の検証に失敗したという警告が表示された場合にも役立ちます。 http://ubuntuforums.org/archive/index.php/t-894355.html
CPAN (Comprehensive Perl Archive Network) に慣れていない場合は、そのサイトをブックマークすることをお勧めします。これには、サード パーティの (ほとんどの場合十分にテストされた) ライブラリが含まれています。
perl を使用してメールを送信する方法を示す例: http://www.perlfect.com/articles/sendmail.shtml