Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
mta [2025/07/06 12:39] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== MTA - Агент передачи сообщений ======
 +
 +~~Title: Тестирование отправки электронной почты ~~
 +{{htmlmetatags>
 +metatag-description=(Тестирование MTA Postfix, Exim. Простой PHP скрипт отправки сообщения на Email.)
 +}}
 +
 +{{ ::mua_mta_smtp.png?nolink&400 |}}
 +
 +**MTA** (Mail Transfer Agent, Message Transfer Agent, Агент передачи сообщений) - почтовые сервера:
 +  * [[Postfix]]
 +  * [[ssmtp]] - только отправка почты.
 +  * [[Zimbra]]
 +  * [[PowerMTA]]
 +
 +Термины «конверт» (envelope), «заголовок» (header), «тело» (body) и «вложение» (attachment) относятся к различным частям данных, которыми обмениваются агенты передачи сообщений (MTA). Имена и синтаксис параметров берут начало в документах [[RFC]].
 +
 +  * [[SMTP]]
 +  * [[IMAP]]
 +  * [[Dovecot]]
 +
 +  * [[https://www.daxa.com.ua/others/not-delivered/|Если письмо не было доставлено адресату и почему...]]
 +====== Тестирование MTA ======
 +  * Отсылка почты из консоли.<file bash>
 +echo "hello from `hostname`" | mail -s "test" root
 +echo "hello from `uptime` `who -q`" | mail -s "`hostname`" root
 +</file>
 +  * Отсылка почты из консоли. Ключ -v позволяет видеть трассировку сообщения, если smtp сервером является sendmail.<file bash>
 +echo "Subject: test" | /usr/lib/sendmail -v root
 +</file>
 +  * [[Telnet]] и MTA. Тестирование почтовых серверов при помощи telnet.
 +  * [[openssl]] и MTA. Тестирование почтовых серверов с использованием зашифрованного соединения.
 +  * [[http://www.postfix.org/smtp-source.1.html|smtp-source]] утилита генерирующая smtp трафик. Например, отослать 10 сообщений<file>
 +# smtp-source -m 10 -f senders@example.com -t recipient@example.com localhost:25
 +</file>
 +  * **swaks** - альтернативой [[telnet]] для тестирования SMTP. Отсылка почты:<file>
 +# apt install swaks
 +# swaks --to xxx@gmail.com --server mail.example.com --from you@example.com --auth CRAM-MD5
 + --auth-user you@example.com --header-X-Test "test email"
 +</file>
 +  * [[PHP]] код:<file php>
 +php -r 'echo "\n".base64_encode("you@example.com")."\n".base64_encode("password")."\n";'
 +</file>
 +
 +===== Простой PHP скрипт отправки сообщения на Email =====
 +  * [[https://www.php.net/manual/ru/function.mail.php|Документация mail — Отправляет электронную почту]]
 +
 +Скрипт использую для тестирования почты в том числе и на виртуальных хостингах. Пример кода с проверкой, если отправка не произошла, выдаст ошибку:
 +<file php test_mail.php>
 +<?php
 +
 + // if (isset($_POST['name']) && isset($_POST['phone']) && isset($_POST['full_name'])) {
 + //     //$day = $_POST['day'];
 + //     $phone = $_POST['phone'];
 + //     $name = $_POST['name'];
 + //     $full_name = $_POST['full_name'];
 + // }
 +
 + // $message = "
 + // Имя: $name<br>
 + // Фамилия: $full_name<br>
 + // Контактный телефон: $phone<br>";
 +$message = "тестовый текст сообщения";
 +
 +$to = "seo@mirax-hotel.com.ua";
 +$subject = "Test Mail";
 +$from = "noreply@mirax-hotel.com.ua";
 +$headers  = 'MIME-Version: 1.0' . "\r\n";
 +$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
 +$headers .= "From: <".$from.">\r\n";
 +$headers .= 'Cc: darkfire@dieg.info' . "\r\n";
 +
 +if (mail($to,$subject,$message,$headers)) {
 + echo "OK";
 +}
 +else {
 + // echo "Error";
 + exit("Server received '{$to}' from your browser.");
 +}
 +
 +?>
 +
 +</file>
 +
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!