Автоматизация работы с электронной почтой в Human Emulator
До версии Human Emulator Studio 7.0.6 вся работа с почтовыми сервисами выполнялась средствами того языка, на котором писался скрипт автоматизации, но в версии 7.0.6 был добавлен специальный объект, который работает с почтой.
Этот объект называется $mail.
На данный момент он имеет следующий функционал:
Работа с SMTP
SMTP-сервер — это почтовый сервер, поддерживающий только отправку электронной почты.
Для работы с SMTP функции:
- smtp_connect($server, $port, $login, $password, $ssl_option = 1 , $cert_type=»s, c, h, e», $timeout = 3000)- соединится с SMTP сервером
- smtp_disconnect() — отсоединится от SMTP сервера
- send_mail_via_smtp($from, $to, $subject, $message, $type) — отправить сообщение через smtp
Пример работы с SMTP:
// 1
echo "1. Отправим письмо через рамблер :";
echo $mail->smtp_connect("smtp.rambler.ru",465,"loginovskiyy-guriyy","rieqoo")." ";
echo $mail->send_mail_via_smtp("loginovskiyy-guriyy@rambler.ru","loginovskiyy-guriyy@mail.com","test","test message rambler",0)."\n";
// 2
echo "2. Отправим письмо через yahoo :";
echo $mail->smtp_connect("smtp.mail.yahoo.com",465,"FionaPayne160","k6cabV7ceX")." ";
echo $mail->send_mail_via_smtp("FionaPayne160@yahoo.com","loginovskiyy-guriyy@mail.com","test","test message yahoo",0)."\n";
// 3
echo "3. Отправим письмо через yandex :";
echo $mail->smtp_connect("smtp.yandex.ru",465,"myfugow","1291975119")." ";
echo $mail->send_mail_via_smtp("myfugow@yandex.ru","loginovskiyy-guriyy@mail.com","test","test message yandex",0)."\n";
// 4
echo "4. Отправим письмо через mail :";
echo $mail->smtp_connect("smtp.mail.ru",465,"arna.pervak","msnijwdx")." ";
echo $mail->send_mail_via_smtp("arna.pervak@mail.ru","loginovskiyy-guriyy@mail.com","test","test message yahoo",0)."\n";
// 4
echo "5. Отсоединимся от SMTP :";
echo $mail->smtp_disconnect();
Работа с POP3
POP3 — протокол для приема сообщений электронной почты.
Для работы с POP3 функции:
- pop3_connect($server, $port, $login, $password , $ssl_option = 1 , $cert_type=»s, c, h, e», $timeout = 3000 ) — соединиться с POP3 сервером
- pop3_disconnect() — отсоединиться от POP3 сервера
- get_message_count_via_pop3() — получить число писем в ящике через POP3
- get_message_by_number_via_pop3($number)- получить письмо с заданным номером через POP3
- get_message_by_subject_via_pop3($subject,$exactly=false) — получить письмо с заданной темой через POP3
- get_message_by_from_via_pop3($from,$exactly=false) — получить письмо от заданного отправителя через POP3
- get_message_by_text_via_pop3($text,$exactly=false) — получить письмо по части текста письма через POP3
- delete_message_by_number_via_pop3($number) — удалить письмо с заданным номером через POP3
- delete_message_by_from_via_pop3($from,$exactly=false) — удалить письмо с заданным from через POP3
- delete_message_by_subject_via_pop3($subject,$exactly=false) — удалить письмо с заданным subject через POP3
- delete_message_by_text_via_pop3($text,$exactly=false) — удалить письмо с заданным текстом через POP3
- delete_all_messages_via_pop3() — удалить все письма на почте через POP3
Пример работы с POP3:
// 1
echo "1. Соединимся с POP3 яндекса : ";
echo $mail->pop3_connect("pop.rambler.ru",995,"loginovskiyy-guriyy","rieqoo")."\n";
// 2
echo "2. Получим число писем : ";
echo $mail->get_message_count_via_pop3()."\n";
// 3
echo "3. Соединимся с POP3 mail.ru : ";
echo $mail->pop3_connect("pop.mail.ru",995,"arna.pervak","msnijwdx")."\n";
// 4
echo "4. Получим число писем : ";
echo $mail->get_message_count_via_pop3()."\n";
// 5
echo "5. Отсоединимся от POP3 : ";
echo $mail->pop3_disconnect()."\n";
// конец
echo "<hr><br>";
Работа с IMAP
IMAP — протокол, поддерживающий прием и возможность управления электронной почтой прямо на почтовом сервере.
Для работы с IMAP функции:
- imap_connect($server, $port, $login, $password , $ssl_option = 1 , $cert_type=»s, c, h, e», $timeout = 3000 ) — соединиться с IMAP сервером
- imap_disconnect() — отсоединиться от IMAP сервера
- get_message_count_via_imap($folder=»») — получить число писем в ящике через IMAP
- get_message_by_number_via_imap($folder, $number) — получить письмо с заданным номером через IMAP
- get_message_by_subject_via_imap($folder, $subject,$exactly=false) — получить письмо с заданной темой через IMAP
- get_message_by_from_via_imap($folder,$from,$exactly=false) — получить письмо от заданного отправителя через IMAP
- get_message_by_text_via_imap($folder,$text,$exactly=false) — получить письмо по части текста письма через IMAP
Пример работа с IMAP:
// 1
echo "1. Соединимся с IMAP рамблера : ";
echo $mail->imap_connect("imap.rambler.ru",143,"loginovskiyy-guriyy@rambler.ru","rieqoo")."\n";
// 2
echo "2. Получим число писем : ";
echo $mail->get_message_count_via_imap()."\n";
// 3
echo "3. Соединимся с IMAP mail.ru : ";
echo $mail->imap_connect("imap.mail.ru",993,"arna.pervak@mail.ru","msnijwdx")."\n";
// 4
echo "4. Получим число писем : ";
echo $mail->get_message_count_via_imap()."\n";
// 5
echo "5. Отсоединимся от IMAP : ";
echo $mail->imap_disconnect()."\n";
// конец
echo "<hr><br>";
Также в программу был добавлен специальный объект для работы с самими письмами. XHEMailMessage этот объект имеет всего 4 переменные:
- $from — от кого пришло письмо.
- $subject — тем письма.
- $date — дата.
- $body — тело сообщения.
Пример использования объекта при работе с pop3:
// 2
echo "2. Зададим pop3 конфигурацию : ";
echo $mail->pop3_connect("pop.mail.ru",995,"arna.pervak","msnijwdx")."\n";
// 3
echo "3. Получим 0 письмо : ";
$message = $mail->get_message_by_from_via_pop3("@corp.mail.ru");
echo " from: ".$message->from."\n";
echo " subject: ".$message->subject."\n";
echo " date: ".$message->date."\n";
echo " body length: ".strlen($message->body)."\n\n";
Аналогично объект используется и при работе с smtp и imap.
Объект $mail был добавлен специально для упрощения работы с электронной почтой. В прочем, как и в предыдущих версиях Human Emulator, сохраняется возможность работать с любыми библиотеками написанными на том языке, на котором вы пишите свои скрипты автоматизации и использовать их функционал для работы с почтой.
Любые предложения и замечания по работе с объектом можно оставить на нашем форуме.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.