2009-02-18 23 views

cevap

13

Şahsen, Google Mail'in TLS'si üzerinden oldukça iyi çalışan Email::Send::SMTP::TLS modülümü kullanmanızı öneririm .

Teşekkürler.

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]; 
1

CPAN'da çok noktalı SMTP modülleri vardır, örneğin Net::ESMTP. Ayrıca, sendmail büyük olasılıkla posta sunucuları ile iletişim kurmak için SMTP kullanıyor, bu yüzden onu kullanmak istemediğin gerçek sebebin nedir?

0

CPAN (Kapsamlı Perl Arşiv Ağı) hakkında bilgi sahibi değilseniz, bu siteye yer işareti koymanızı öneririz. Üçüncü taraf (çoğunlukla iyi test edilmiş) kütüphaneler içerir.

perl kullanarak e-postalar göndermek için nasıl kullanıldığını gösteren bir örnek: comment gereğince http://www.perlfect.com/articles/sendmail.shtml

+0

OP şunları söyledi: "Sendmail kullanmak istemiyorum" – jfs

6

Google'ın SMTP yoluyla e-posta göndermek, ya da sadece (belki gmail hesabına) genel olarak e-posta göndermek istiyorsanız, bu net değil . Email::Send ve muhtemelen Email::Send::Gmail kontrol etmelisiniz.

Alternatif olarak, gerçekten sormak istediğiniz şey Gmail’i Gmail’e taşımayan bir yerden e-postaları nasıl taşıyabilirim, Mail::Box ve Mail::Box::IMAP4::SSL arka uç kullanarak IMAP ile çok iyi şanslar yaşadım. here kullanım örneğini görebilirsiniz.

+0

E-posta :: Gönder son zamanlarda E-posta :: Gönderen lehine onaylanmadı Gönderen: –

0

E-posta nesnelerini, dosya eklerini oluşturma ve yükü gönderme işlemini basitleştirmek için Net::SMTP etrafındaki sarıcı olan MIME::Lite'u kullanıyorum. Eğer modülleri yükleyerek aşina değilseniz

kontrol edin:

Windows'ta, Unix Açık (başlangıç ​​menüsünde)

ActiveState Perl Paket Yöneticisi kullanın CPAN kullanın: $ sudo cpan Module::Name

Açık barındırılan Unix hesapları: How can I install a CPAN module into a local directory?

2

Hep kullandım ve Mail::Sender ile çok iyi bir şans oldu.

+0

Mail :: Sender iyi şeyler. – daotoad

1

Bakmak isteyebileceğiniz başka bir olasılık da CPAN'dan Email::Send::Gmail modülünü kullanmaktır. Bu, Gmail hesabınızdan herhangi bir hesaba e-posta göndermenizi sağlar (örneğin, kendinize)

0

Email::Send (Fayland Lam'ın cevap olarak kullanılmaktadır) kullanım dışı kalmıştır:

Eposta :: Gönder ... kaldırılıyor de, gerçekten silinip gitmez, ancak resmen "işaretli ediliyor iyilik."

Bu tercih Eposta :: Sender kullanarak, benim için çalışıyor: Gerçekten soru alamadım

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 }); 
İlgili konular