Автоматизация работы с электронной почтой в 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// 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:
1 2 3 4 5 6 7 8 9 10 11 |
// 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, сохраняется возможность работать с любыми библиотеками написанными на том языке, на котором вы пишите свои скрипты автоматизации и использовать их функционал для работы с почтой.
Любые предложения и замечания по работе с объектом можно оставить на нашем форуме.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.