Если ваша программа работает в системе Linux/Unix, вы можете использовать инструмент sendmail в Perl для отправки электронных писем.
Ниже приведен простой пример сценария для отправки электронных писем:
Пример
#!/usr/bin/perl # Получение электронного письма, здесь я установил его как адрес электронной почты QQ, вам нужно изменить его на свой собственный адрес электронной почты. $to = ' [email protected] ' ; #Электронная почта отправителя $ from = ' [email protected] ' #Title $subject = ' Учебное пособие по программированию, проверка отправки электронной почты на Perl ' ; $message = ' Это электронное письмо, отправленное с использованием Perl. ' ; open ( MAIL , " |/usr/sbin/sendmail -t " ) ; # Заголовок письма распечатать ПОЧТА " Кому : $to n " ; ПОЧТА " От: $from n " печать ; ПОЧТА " Тема: $subject n n " # Информация об электронной почте ; распечатать ПОЧТА $сообщение ; закрыть ( ПОЧТА ) ; печать " Письмо отправлено успешно n " ; Результат выполнения вышеуказанной программы:
Письмо успешно отправлено
В обычных обстоятельствах указанное выше электронное письмо будет перехвачено почтовым ящиком QQ. Мы можем добавить его в белый список. Метод операции можно выбрать: https://kf.qq.com/faq/120322fu63YV130805rYRFzu.html.
После присоединения к белому списку вы сможете получать электронные письма в обычном режиме.
Отправить электронное письмо в формате HTML
Мы можем добавить Content-type: text/htmln в заголовок электронного письма, чтобы отправлять электронные письма в формате HTML. Пример следующий:
Пример
#!/usr/bin/perl # Получение электронной почты, здесь я установил его как свой адрес электронной почты QQ, вам нужно изменить его на свой собственный адрес электронной почты $to = ' [email protected] ' ; #Электронная почта отправителя $ from = ' [email protected] ' #Title $subject = ' Проверка отправки электронного письма с учебным пособием по Coder ' ; $message = ' <h1>Это электронное письмо, отправленное с использованием Perl<h1><p>Здравствуйте, я из Coder Tutorial, адрес: http:// /www .codercto.com. </p> ' ; open ( MAIL , " |/usr/sbin/sendmail -t " ) ; # Заголовок сообщения. распечатать ПОЧТА " Кому : $to n " ; ПОЧТА " От: $from n " печать ; ПОЧТА « Тема: $subject n » печать ; ПОЧТА " Тип контента: text/html n " # Информация об электронной почте ; распечатать ПОЧТА $сообщение ; закрыть ( ПОЧТА ) ; печать " Письмо отправлено успешно n " ; После успешного выполнения проверьте содержимое письма, как показано ниже:
Использование модуля MIME::Lite
Если вы используете оконную систему, инструмента sendmail нет. В настоящее время вы можете использовать модуль MIME:Lite Perl в качестве почтового клиента для отправки почты.
Адрес загрузки модуля MIME:Lite: MIME-Lite-3.030.tar.gz.
Здесь мы используем cpan для прямой установки (требуются права root) без загрузки:
$ cpan -i MIME::Lite…… /usr/bin/make install -- ОК
После успешной установки продемонстрируем пример:
Пример
#!/usr/bin/perl используйте MIME::Lite ; # Получите электронное письмо, здесь я установил его как адрес электронной почты QQ, вам нужно изменить его на свой собственный адрес электронной почты $to = ' [email protected] ' ; # Копии, разделяйте несколько запятыми # $cc = '[email protected], [email protected]'; электронная почта #отправителя $ from = ' [email protected] ' #Title $subject = ' Учебное пособие по кодированию
Perl , тест отправки электронной почты ' $message = ' Это электронное письмо, отправленное с использованием Perl, с использованием модуля MIME::Lite. ' ; $msg = MIME::Lite -> новый ( Откуда => $от , Куда => $to , Копия => $cc , Тема => $subject , данные => $сообщение ) ; $сообщение - > отправить ; " Письмо отправлено успешно n " ; После успешного выполнения проверьте содержимое письма, как показано ниже:
Отправить электронное письмо в формате HTML
Мы можем добавить Content-type: text/htmln в заголовок электронного письма, чтобы отправлять электронные письма в формате HTML. Пример следующий:
Пример
#!/usr/bin/perl используйте MIME::Lite ; # Получите электронное письмо, здесь я установил его как свой адрес электронной почты QQ, вам нужно изменить его на свой собственный адрес электронной почты $to = ' [email protected] ' ; # Копии, разделяйте несколько запятыми # $cc = '[email protected], [email protected]'; электронная почта #отправителя $ from = ' [email protected] ' #Title $subject = ' Учебное пособие по кодированию Perl, тест отправки электронной почты ' ; $message = ' <h1>Это электронное письмо, отправленное с использованием Perl<h1><p>С использованием модуля MIME::Lite. </p><p>В руководстве по программированию указан адрес: http://www.codercto.com. </p> ' ; $msg = MIME::Lite -> новый ( Откуда => $от , Куда => $to , Копия => $cc , Тема => $subject , данные => $сообщение ) ; #Добавить информацию заголовка $msg -> attr ( « тип содержимого » => « текст/html » ) ; $msg - > отправить ; " Письмо отправлено успешно n " ; После успешного выполнения проверьте содержимое письма, как показано ниже:
Отправить электронное письмо с вложениями
Пример отправки электронного письма с вложениями следующий:
Пример
#!/usr/bin/perl используйте MIME::Lite ; # Получите электронное письмо, здесь я установил его как адрес электронной почты QQ, вам нужно изменить его на свой собственный адрес электронной почты $to = ' [email protected] ' ; # Копии, разделяйте несколько запятыми # $cc = '[email protected], [email protected]'; электронная почта #отправителя $ from = ' [email protected] ' #Title $subject = ' Урок кодирования Perl, тест отправки электронной почты ' ; $message = ' Это электронное письмо, отправленное с использованием Perl, с использованием модуля MIME::Lite и содержащее вложения. ' ; $msg = MIME::Lite -> новый ( Откуда => $от , Куда => $to , Копия => $cc , Тема => $subject , Тип => ' многочастный/смешанный ' # Тег вложения ) ; $сообщение -> прикрепить ( Тип => ' ТЕКСТ ' , Данные => $сообщение ) ; #Укажите информацию о вложении $msg -> прикрепить ( Введите => ' ТЕКСТ ' , Путь => ' ./codercto.txt ' , # в текущем каталоге Имя файла => ' codercto.txt ' , Расположение => ' вложение ' ) ; $сообщение - > отправить ; " Письмо отправлено успешно n " ; После успешного выполнения проверьте содержимое письма, как показано ниже:
Вы можете добавить несколько вложений, используя несколько $msg->attach.