Назад | Перейти на главную страницу

когда следует выбирать простую почту php, а когда smtp с логином + паролем?

Мой случай: веб-приложение, которое должно отправлять 1000 сообщений в день на основную учетную запись Gmail.

(Нужно только отправлять электронную почту, не нужно получать электронные письма - почтовый клиент)

1. вариант - использовать функцию php mail + sendmail + config php.ini

пример php:

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Конфигурация php.ini (ubuntu):

sendmail_path = /usr/sbin/sendmail -t -i

профи: не нужна учетная запись электронной почты, легко настроить

минусы:?


2. вариант - использовать Zend_Mail + transport на примере smpt + password auto php (необходимо включить классы Zend_Mail):

$config = array('auth' => 'login',
                  'username' => 'myusername',
                  'password' => 'password');
  $transport = new Zend_Mail_Transport_Smtp('mail.server.com', $config);
  $mail = new Zend_Mail();
  $mail->setBodyText('This is the text of the mail.');
  $mail->setFrom('sender@test.com', 'Some Sender');
  $mail->addTo('recipient@test.com', 'Some Recipient');
  $mail->setSubject('TestSubject');
  $mail->send($transport);

профи:?

минусы:?

Вопросы:

  1. Можно ли отфильтровать 1 вариант почтовым сервером Gmail как спам?

  2. пожалуйста, можете ли вы добавить плюсы и минусы к параметрам выше

Спасибо

Если у вас есть контроль над всем сервером, на котором размещен домен, вы можете проверить почтовые журналы. Очень часто Google дает хорошие отзывы со ссылкой в ​​своих отклоненных материалах, в которых объясняется, почему они были отклонены.

Если вы отправляете много электронных писем, а Google не знает вас и не имеет репутации на вашем MTA, то они будут ограничивать ваш IP-адрес после нескольких электронных писем. Они будут продолжать отклонять всю электронную почту, приходящую с вашего почтового сервера, пока не пройдет время.

Как правило, не должно возникнуть проблем с использованием обычного PHP для отправки электронной почты.

Оба варианта могут быть отфильтрованы Google как спам. Устанавливать Рекомендации Googles для массовых отправителей.

Вариант 1 проще в настройке и не собирает коллекцию недоставленных сообщений.

Вариант 2 более надежен и соберет недоставленные сообщения с указанием причины, по которой сообщение не было доставлено.

РЕДАКТИРОВАТЬ: какой бы вариант вы ни использовали, лучше всего использовать аутентифицированное соединение с Gmail. (войдите с вашими учетными данными.)

Правила, которые обслуживает моя электронная почта, могут применяться Google.

Хосты, использующие в своей команде HELO любое из следующего, всегда являются спамом. (Эти правила применяются только к отправке писем без аутентификации.)

  • Неквалифицированное имя хоста (пример).
  • Мое доменное имя или IP-адрес.
  • Любой другой IP-адрес (192.0.2.10).
  • Литерал домена ([192.0.2.10]).
  • Существует запись SPF, запрещающая использование IP-адреса для отправки электронной почты для: домена в команде Helo; или домен, возвращаемый записью PTR для IP-адреса.

Хосты, которые, скорее всего, не будут рассылать спам, соответствуют всем этим критериям:

  • rDNS настроен PTR (192.0.2.10) -> A (mail.example.com) -> PTR (192.0.2.10).
  • Использует их полное доменное имя (полное доменное имя) в команде Helo (mail.example.com).
  • Полное доменное имя не является доменом второго уровня (example.com).
  • Полное доменное имя имеет запись SPF, разрешающую его использование в качестве хоста ('v = spf1 a -all').