Изменить полный заголовок для отправки почты в php

Я использую этот код для отправки почты в php:

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

Он отлично работает, но если мы проверим полный заголовок письма, он покажет сервер сайта, на который было отправлено письмо. Я хочу знать, есть ли какой-нибудь возможный способ, чтобы мы могли изменить полный заголовок этого и показать что-то еще в полном заголовке в почте.

заранее спасибо

3 ответа

Решение

Все почтовые серверы добавят Received строка заголовка сообщения. Вы можете настроить свой собственный сервер (серверы) так, чтобы он не добавлял такой заголовок и даже не удалял другие подобные заголовки, но вы не можете контролировать поведение других почтовых серверов. Это означает, что первый сервер за пределами вашей среды добавит IP-адрес и имя хоста вашего последнего сервера, и вы ничего не можете с этим поделать.

Вы можете отправлять любой заголовок, какой захотите, когда отправляете почту через любую службу /API, но это до клиента (gmail, exchange и т. Д.), Чтобы показать, какие данные отображать. Кроме того, SMTP-сервер изменяет или переопределяет данные заголовка, которые он считает необходимыми.

Данные вашего заголовка, по существу, проходят как минимум 2 слоя фильтра в процессе его передачи.

Нет. Вы не можете изменить некоторые заголовки, так как они добавляются почтовыми серверами во время доставки почты (поэтому, если вы не можете это сделать). Вы можете добавить собственные заголовки к почте, но smtpd все равно добавит их.

PS: не использовать mail(), Используйте что-то более сложное, например, PHPMailer или аналогичный пакет.

Другие вопросы по тегам