Я использую Swiftmailer для отправки HTML и иногда текстовых электронных писем.Письма иногда попадают в папку «Спам» получателей.Я использую SMTP Transport для подключения к удаленному почтовому серверу для отправки электронных писем.
У нас есть веб-приложение, размещенное на домене, и оно будет подключаться к адресу электронной почты пользователя и аутентифицироваться, а затем отправлять электронную почту.
Кажется, я не могу понять, почему некоторые электронные письмаоказаться в папке «Спам» или «Нежелательная почта»?
Вот мой код конфигурации Swiftmailer:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport'=>false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'mail.thehostname.com',
'username' => 'system@thehostname.com',
'password' => 'PASSWORD_HERE',
'port' => '465',
'encryption' => 'ssl',
'streamOptions' => [ 'ssl' =>
[ 'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
],
],
],
При отправке действительного электронного письма - вот как я настраиваю сообщение:
//set up the transport
$transport = Yii::$app->mailer->getTransport();
if($user->smtp_port=="587")
{
$transport
->setUserName($user->email)
->setPassword($user->imappassword)
->setHost($user->smtp_url)
->setPort($user->smtp_port)
->setEncryption('tls');
} else {
$transport
->setUserName($user->email)
->setPassword($user->imappassword)
->setHost($user->smtp_url)
->setPort($user->smtp_port)
->setEncryption('ssl');
}
//setup headers
$mid = "<".time()." TheSystem@".$_SERVER['SERVER_NAME'].">";
$message->getSwiftMessage()->getHeaders()->addTextHeader('Organization', $user->company->name);
$message->getSwiftMessage()->getHeaders()->addTextHeader('MIME-Version', '1.0');
$message->getSwiftMessage()->getHeaders()->addTextHeader('X-Mailer', 'PHP v' . phpversion());
$message->getSwiftMessage()->getHeaders()
->addParameterizedHeader('Content-type', 'text/html', ['charset' => 'utf-8']);
$message->getSwiftMessage()->getHeaders()->addTextHeader('Message-ID', $mid);
$message
->setFrom([$user->email=>$user->fullname]);
С этого момента $ message передается и используется по мере необходимости для добавления текста / HTML-содержимого, а затем $ message-> send () называется
Верны ли мои заголовки?Это приводит к тому, что почта переходит в спам?
Я уже просмотрел Stackoverflow и добавил заголовки, которые я нашел в других сообщениях stackoverflow.Это, кажется, немного помогло, но письма все еще идут в спам.
Мне бы хотелось, чтобы моя почта не переходила в спам или нежелательную.
Любой совет был бы очень признателен
Спасибо!