Perl, SMTP, TLS, GMail – изпращане на e-mail
Трябваше ми набързо пърл скриптче за изпращане на e-mail-и през gmail smtp сървъра. Поразрових по нета, оказа се, че има написани доста интересни неща, но естествено и обилно количество глупости. Всъщност, повече време си загубих в търсенето на правилната библиотека. Реших да ползвам Net::SMTP::TLS, която не идва с default-на инсталация на ActivePerl за Windows, а до колкото помня и при чиста инсталация от FreeBSD портовете я няма. Изключение прави Strawberry Perl за Windows, която инсталира и TLS библиотеката.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | use strict; use warnings; use Net::SMTP::TLS; my $sender = "you\@gmail.com"; my $password = "your-password-here"; my $recipient = "recipient_email\@here"; my $subject = "Sing me a song"; my $body = "Trah-lah-lah"; my $smtp = "smtp.gmail.com"; my $port = 587; my $mail = new Net::SMTP::TLS($smtp, Hello => $smtp, Port => $port, User => $sender, Password => $password); $mail->mail($sender); $mail->to($recipient); $mail->data(); $mail->datasend("To: $recipient\n"); $mail->datasend("Subject: $subject\n"); $mail->datasend("From: $sender\n"); $mail->datasend("Content-Type: text/plain\n"); $mail->datasend("\n"); $mail->datasend($body); $mail->datasend("\n"); $mail->dataend(); $mail->quit; |
Забележете, че преди body-то има 2 празни реда. Оставете ги така :) Разделят хедъра от боди частта.




Последни коментари