Работа с электронной почтой

Автоматизация работы с электронной почтой в 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 "&nbsp;&nbsp;from: ".$message->from."\n";
echo "&nbsp;&nbsp;subject: ".$message->subject."\n";
echo "&nbsp;&nbsp;date: ".$message->date."\n";
echo "&nbsp;&nbsp;body length: ".strlen($message->body)."\n\n";

Аналогично объект используется и при работе с smtp и imap.

Объект $mail был добавлен специально для упрощения работы с электронной почтой. В прочем, как и в предыдущих версиях Human Emulator, сохраняется возможность работать с любыми библиотеками написанными на том языке, на котором вы пишите свои скрипты автоматизации и использовать их функционал для работы с почтой.

Любые предложения и замечания по работе с объектом можно оставить на нашем форуме.

3.7/5 - (3 голоса)

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.