Функция почты PHP не отправляет - PullRequest
0 голосов
/ 20 ноября 2011

По какой-то причине моя почта PHP не отправляется.

Это мой сценарий:

$tom = $email;
$subjm = 'Company: Forgotten password';
$msgm = "-- DO NOT REPLY TO THIS EMAIL --\nHi,\nYou have forgotten your password.\nHereby we want to supply a you a new one.\nNew password: $pass";
$msgm = wordwrap($msgm, 70);
$mail_sent = @mail($tom, $subjm, $msgm);
echo "$tom <br /> $subjm <br /> $msgm";
echo $mail_sent ? "Mail sent" : "Mail failed";
echo "<br />Your new password has been sent to the email you've signed up with.<br />If you can't find the email, please wait a few minutes or check your spam box.";

Однако, он всегда дает мне сообщение «Ошибка почты», и я не вижуэто в почтовом ящике.Я проверил, был ли правильный адрес электронной почты произведен моим сценарием ($email), и это было.Так что я немного растерялся, почему не отправлю.

Ответы [ 2 ]

2 голосов
/ 20 ноября 2011

Вам необходимо указать адрес from, чтобы соответствовать требованиям RFC.Также возвращаемое значение mail не сообщает вам, было ли отправлено письмо или нет.Он только сообщает вам, если почтовый сервер принял почту.

Для более элегантного способа отправки почты не только с использованием локального sendmail, но и с любого SMTP-сервера, посмотрите phpmailer .

1 голос
/ 20 ноября 2011

В продолжение комментариев я связался со своим веб-хостом. Они говорят мне, что я не могу отправлять электронные письма с использованием функции почты тем получателям, которые не находятся в домене. Я решаю проблему с ними.

Edit:

Мне нужно было добавить From:, а адрес электронной почты From должен быть адресом @ mydomain.com, а не внешним. Это работает сейчас.

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