Я пытаюсь использовать Perl для отправки сообщения электронной почты. В основном у меня есть сценарий Perl, который выводит отчет в хорошем формате. Я хочу, чтобы этот отчет отправлялся по электронной почте. Как я могу это сделать?Отправка электронной почты с помощью Perl
ответ
MIME::Lite - сильный модуль, используемый многими. Он прост в использовании, в том числе, если вы хотите прикрепить документы.
use MIME::Lite;
my $msg = MIME::Lite->new(
From => $from,
To => $to,
Subject => $subject,
Type => 'text/plain',
Data => $message,
);
$msg->send;
Поскольку он использует sendmail
по умолчанию (в отличие от SMTP), вам даже не нужно настраивать.
Я знаю, что этот ответ старый, но документы MIME :: Lite теперь говорят: 'ПОДОЖДИТЕ! MIME :: Lite не рекомендуется его текущим поддерживающим устройством. Существует несколько альтернатив, таких как Email :: MIME или MIME :: Entity и Email :: Sender, которые вы, вероятно, должны использовать вместо этого. MIME :: Lite продолжает набирать странные отчеты об ошибках и не получает большого количества рефакторинга из-за доступности лучших альтернатив. Пожалуйста, рассмотрите возможность использования чего-то еще. ' – ThisSuitIsBlackNot
Стоит отметить, что если вы будете иметь внешний вид на вашей машине и CPAN модуль Outlook:
# create the object
use Mail::Outlook;
my $outlook = new Mail::Outlook();
# start with a folder
my $outlook = new Mail::Outlook('Inbox');
# use the Win32::OLE::Const definitions
use Mail::Outlook;
use Win32::OLE::Const 'Microsoft Outlook';
my $outlook = new Mail::Outlook(olInbox);
# get/set the current folder
my $folder = $outlook->folder();
my $folder = $outlook->folder('Inbox');
# get the first/last/next/previous message
my $message = $folder->first();
$message = $folder->next();
$message = $folder->last();
$message = $folder->previous();
# read the attributes of the current message
my $text = $message->From();
$text = $message->To();
$text = $message->Cc();
$text = $message->Bcc();
$text = $message->Subject();
$text = $message->Body();
my @list = $message->Attach();
# use Outlook to display the current message
$message->display;
# Or use a hash
my %hash = (
To => '[email protected]',
Subject => 'Blah Blah Blah',
Body => 'Yadda Yadda Yadda',
);
my $message = $outlook->create(%hash);
$message->display(%hash);
$message->send(%hash);
Обратите внимание, что .invalid TLD не является реальным, так что адрес выше, не доставит. В любом случае, я поставил здесь достойное объяснение вещей в модуле - это отправляет сообщение!
@Grep Bacon Я пробовал этот код, но ошибка' Невозможно вызвать метод «От» по неопределенному значению по строке mail.pl 24. «В этом коде. Что я могу сделать? – mkHun
@Hussain Не запускайте этот код точно так же, как есть - это всего лишь часть CPAN, показывающая все методы, которые вы можете сделать. До строки 24 код запускается первым(), next(), last() AND previous(). Вы не должны запускать всех этих сторонников ... может быть, он пытается получить доступ к чему-либо без функции From(). Кроме того, перед тем, как он дважды выбирает текущую папку ... может также очистить ее до JUST, захватить «Входящие». – PinkElephantsOnParade
Привет, У меня возникла проблема с этим, кажется, что '$ outlook = new Mail :: Outlook()' возвращает undef ... почему? Я уже установил модуль, и у меня есть Outlook 2007 ... как я могу создать объект $ outlook? – catzilla
Если машина не имеет Sendmail настроен, я обычно использую Mail::Sendmail
use Mail::Sendmail;
%mail = (smtp => 'my.isp.com:25',
to => '[email protected]',
from => '[email protected]',
subject => 'Automatic greetings',
message => 'Hello there');
sendmail(%mail) or die;
+1 :: Это работает для меня. Я использовал 'localhost: 25' –
простейшим способом без библиотек CPAN:
#!/usr/bin/perl
$to = '[email protected]'; # to address
$from = '[email protected]'; # from address
$subject = 'subject'; # email subject
$body = 'Email message content';# message
open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";
print MAIL $body;
close(MAIL);
print "Email Sent Successfully to $to\n";
- 1. Отправка электронной почты с помощью скрипта perl
- 2. Отправка электронной почты с помощью perl с помощью sendmail
- 3. Отправка почты через Perl
- 4. Отправка электронной почты с использованием Perl с использованием sendmail
- 5. Отправка электронной почты с помощью JavaMail IMAP
- 6. Отправка электронной почты с помощью Java
- 7. Отправка электронной почты с помощью asp.net
- 8. Отправка электронной почты с помощью сервлета
- 9. Отправка электронной почты с помощью powershell
- 10. Отправка электронной почты с помощью Java
- 11. Автоматическая отправка электронной почты с помощью таймера
- 12. Отправка электронной почты с помощью Python
- 13. Отправка электронной почты с помощью C#
- 14. Отправка электронной почты с помощью PHP
- 15. Отправка электронной почты с помощью javax?
- 16. Отправка электронной почты href с помощью «%»
- 17. отправка электронной почты с помощью xampp
- 18. Отправка электронной почты с помощью команды Линукс
- 19. отправка электронной почты с помощью cakephp2
- 20. Отправка электронной почты с помощью nodemailer
- 21. Отправка электронной почты с помощью сервлетов
- 22. Отправка электронной почты с помощью Yahoo SMTP
- 23. Отправка электронной почты с помощью Java Mail
- 24. Отправка электронной почты с помощью PHPMailer()
- 25. Отправка электронной почты с помощью Сервета
- 26. отправка электронной почты с помощью переменной
- 27. Отправка электронной почты с помощью Google Mail
- 28. Codeigniter Отправка электронной почты с помощью функции
- 29. Отправка электронной почты с помощью Intel XDK
- 30. Отправка электронной почты с помощью ASP.NET
[? Что такое лучший модуль Perl для отправки электронной почты] (HTTP : //stackoverflow.com/questions/338896/what-is-the-best-perl-module-for-sending-email), [Какой пакет из CPAN следует использовать для отправки почты?] (http: // stackoverflow. com/questions/2919493/which-package-from-cpan-should-i-use-to-send-mail) – daxim
CPAN - ваш френ d, новый или старый для Perl. Попробуйте, например, [Email: Sender] (https://metacpan.org/module/Email::Sender). Хорошая документация в [руководстве по быстрому запуску] (https://metacpan.org/module/Email::Sender::Manual::QuickStart). – asjo
Использование Perl SMTP http://perldoc.perl.org/Net/SMTP.html –