#php #sendmail
Вопрос:
Это кажется немного странным, и я ничего не смог найти.
Отправка этого через php -a
echo mail("xxx@xyz.com", "message from xyz.com", "this is a message from xyz.com");
В результате на другом конце не будет получено никакого сообщения, но если я удалю все точки из темы И сообщения, как в:
echo mail("me@me.com", "message from xyzcom", "this is a message from xyzcom");
Затем сообщение успешно получено успешно.
Я понимаю, что разрешен завершающий период, так как же выполняются другие периоды? Обратите внимание, что ОБА вышеперечисленных параметра возвращают значение TRUE из PHP mail();
Комментарии:
1. я уверен, что это не ваш код, поэтому перед отправкой сообщения проверьте правильность любого URL-адреса или домена. если доступно {не отправляйте сообщение}. это делается в целях безопасности
2. Вы хотите знать, как это делается? как обойти эту проверку
3. Дин, Да! Не могу найти ответ, и я уверен, что он простой! Десятилетия программирования и никогда не использовал sendmail!
4. почта(); функция отключена на большинстве серверов по соображениям безопасности.
5. Не получение электронного письма не означает, что оно не было отправлено успешно. Посмотри на этот старый каштан . Если эти «незаконные периоды» являются вашим доменным именем, вполне возможно, что ваш домен занесен в черный список фильтра контента , и у меня было такое в компании, когда генеральный директор отправил несколько «маркетинговых» писем. Короче говоря, в цепочке доставки есть еще много чего, на что вам стоит обратить внимание.
Ответ №1:
Комментарии дали мне некоторые подсказки о том, что происходит, и моя непосредственная проблема была решена простым внесением в белый список IP-адреса исходной почты. И это работает только потому, что адрес назначения почты PHP всегда один и тот же адрес (это данные страницы контактов).
Я также понимаю, что мне нужна более сложная система электронной почты, чем обычная почта PHP, поэтому я установлю хороший smtp-сервер, который облегчит подобные проблемы.