Функция php mail () mail отклоняется - PullRequest
0 голосов
/ 23 октября 2018

Я переключил свой старый проект на новый сервер, на котором я использую почту для отправки писем sendmail - мой почтовый сервер Я использую функцию php mail (), но она не работает должным образом

Код phpВот что я проверяю.

<?php 
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
    $from = "noreply@xyz.com";
    $to = "panel1@mailinator.com";
    $subject = "PHP Mail Test script";
    $message = "This is a test to check the PHP Mail functionality";
    $headers = "From:" . $from;
    $val = mail($to,$subject,$message, $headers);
    echo "Test email sents";
    echo $val;
?>

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

noreply@xyz.interactivedns.com

И журнал почты такой

Oct 23 18:43:51 xyz2 sendmail[14831]: w9NIhp9R014831: from=www-data, size=177, class=0, nrcpts=1, msgid=<201810231843.w9NIhp9R014831@xyz.com>, relay=www-data@localhost
Oct 23 18:43:51 xyz2 sm-mta[14832]: w9NIhpIF014832: from=<www-data@xyz.com>, size=396, class=0, nrcpts=1, msgid=<201810231843.w9NIhp9R014831@xyz.com>, proto=ESMTP, daemon=MTA-v4, relay=www.xyz.com [127.0.0.1]
Oct 23 18:43:51 xyz2 sendmail[14831]: w9NIhp9R014831: to=panel1@mailinator.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30177, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (w9NIhpIF014832 Message accepted for delivery)
Oct 23 18:43:53 xyz2 sm-mta[14835]: w9NIhpIF014832: to=<panel1@mailinator.com>, ctladdr=<www-data@xyz.com> (33/33), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=120396, relay=mail.mailinator.com. [23.239.11.30], dsn=2.0.0, stat=Sent (Ok)

Если я использую идентификатор gmail, почта вообще не доставляется даже в спам-ящик

Что я могу сделать здесь?

1 Ответ

0 голосов
/ 23 октября 2018

Чтобы ответить на ваш вопрос ...

Похоже, вам не хватает некоторых заголовков, которые я использовал в аналогичном проекте некоторое время назад.Попробуйте заменить строку $ header на следующую:

$message = wordwrap($message , 70);
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ' . $from . "\r\n";

Теперь несколько советов ...

Я боролся сродной функции PHP почты () для займет слишком много времени, пока упорно сопротивляются другие варианты.Поверьте, вы сэкономите много времени и усилий, используя что-то вроде PHPMailer .Когда я наконец сдался и реализовал это (что оказалось намного проще, чем я представлял), все проблемы, с которыми я боролся с помощью mail (), исчезли.Если вы не хотите писать собственные сложные почтовые библиотеки, рассмотрите PHPMailer или аналогичный инструмент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...