На сайте php почта не попадает на сервер обмена получателем -

Я выбрал этот скрипт, потому что он имел CAPTCHA и файл загрузки / вложения. http://www.html-form-guide.com/contact-form/php-contact-form-tutorial.html/comment-page-2

Я знаю, что он старше, и автор сценариев не поддерживает его на своем сайте.

Форма находится на HostGator по адресу в Интернете (подделка, конечно, просто используя его, например) "abcinc.com". Владелец компании / веб-сайта размещает свои электронные письма на Exchange Server 2013 и использует "abc.com" для своей почты.

Электронная почта, которую создает форма - я получаю ее в своих аккаунтах Google/Gmail. Я использовал этот скрипт на этом сервере для полдюжины других людей (из разных веб-сайтов), которые получают их нормально (либо с помощью Google/Gmail, почты Hostgator).

Этот клиент не может получать эти электронные письма на свой Exchange Server (2013) по адресу "abc.com" (и да, у меня правильно указаны адреса электронной почты в форме).

Я просто пытаюсь чему-то научиться. Вот почему я здесь. Я не программист php, я не cPanel, Exchange Server или любой другой полубог почты / сервера. Все, что я знаю, это то, что я выбрал сценарий и изменил его, разместил в HostGator и считал, что при использовании формы HostGator отправлял почту, которой адресованы все адреса электронной почты.

Сотрудники службы технической поддержки Exchange написали мне это:

Мне нужно знать службу SMTP, которую вы используете для отправки электронного письма, и если вы можете использовать реальный адрес электронной почты от ABC.com для отправки электронного письма из формы.

Пожалуйста, ознакомьтесь со статьей ниже и попытайтесь отразить настройки как можно лучше. Также, пожалуйста, сообщите нам фактический адрес электронной почты от abcinc.com, чтобы отправить электронное письмо, если это возможно. Я могу создать новый для вас, или вы можете использовать существующий, если хотите. После внесения этих изменений или если у вас есть какие-либо вопросы, свяжитесь со мной, чтобы мы могли провести окончательное тестирование.

Вот КБ со всеми настройками, которые обычно используются веб-приложениями и другими устройствами для отправки с наших серверов.
Если веб-приложение выполняет отправляющую часть, проверьте, есть ли доступные журналы, которые могут показать, как настроить принтер, сканер, копир, веб-сценарий или SMTP-приложение для работы с учетной записью Exchange http://hosting.intermedia.net/support/kb/viewKBArticle.asp?id=2167
Вот конкретные настройки для вашей учетной записи. Примечание: это сервер Exchange 2013.

(Я не включил настройки здесь)

Так что после попытки прочитать это мой мозг взорвался. Когда я выздоровел, я вошел в систему с поддержкой HostGator, чтобы спросить их... черт, я не знаю, что я пытался спросить их.

Они сказали, чтобы я дал им мой cPanel IP.

Затем я спросил сотрудников Exchange Server, могут ли они дать мне сценарий, который, как они знали, сработал. Да... Я сделал.:-\

Итак, мой вопрос - что мешает этому серверу Exchange получать эти письма?

Главным образом, чтобы я мог стать немного более образованным, чем 10 минут назад.

~ Kaye

PS / EDITED

Я вернулся, чтобы добавить, я просто попробовал другую (базовую) форму, и они получили ее.

Из формы, которая не доходила до Exchange Server, это информация заголовка:

To: jill@abc.com
Subject: Contact form submission from Kaye
X-PHP-Script: www.abcinc.com/estimates.php for 76.3.118.189
Date: Fri, 13 Sep 2013 15:37:30 -0500
From: Kaye <nobody@www.abc.com>
Reply-To: kaye@mydomain.com
Message-ID: <be82ada010a752b86440e86e5c24ca0a@www.abcinc.com>
X-Priority: 3
X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.4]
MIME-Version: 1.0
Content-Type: multipart/alternative;

В работающей форме используется фактическое электронное письмо, которое пользователь вводит в форму в качестве ОТ адреса электронной почты, а не сервера. Это может быть проблемой Exchange Server?

function GetFromAddress()
{
    if(!empty($this->from_address))
    {
        return $this->from_address;
    }

    $host = $_SERVER['SERVER_NAME'];

    $from ="nobody@$host";
    return $from;
}

1 ответ

Большинство размещенных поставщиков Exchange включают фильтры, которые будут проверять наличие записей SPF или, как минимум, записей MX для домена, с которым связан адрес отправителя. Поскольку, скорее всего, нет ни SPF, ни MX-записи для www.[Your-domain].com (из-за "www."), Блокировщик СПАМА хост-провайдера Exchange помечает сообщение как СПАМ, поскольку не может проверить, что IP-адрес, с которого приходит сообщение, на самом деле законно связан с www.[Your-domain].com или, альтернативно (и, возможно, более вероятно), что www.[Your-domain].com не имеет записей MX или SPF связанный с ним, и, следовательно, сервер предполагает, что сообщение должно быть нежелательным (потому что, почему доменное имя, не настроенное для электронной почты, отправляет электронную почту?). [your-domain].com может иметь эти записи, но это не обязательно означает "www." поддомен.

Я имел дело с этим на своем личном опыте и обнаружил, что Google Apps будет обрабатывать сообщения, которые не будут обрабатываться различными поставщиками Exchange. Некоторые хостинговые провайдеры Exchange даже не позволяют увидеть, что было заблокировано (например, GoDaddy), и, следовательно, это очень затрудняет поиск и устранение неисправностей.

Теперь, в своем отредактированном посте, вы упомянули, что скрипт теперь отправляет "от" введенного пользователем адреса и что это помогло. Вы правы, предполагая, что это помогло. Даже если отправляющий IP-адрес не будет совпадать с именем домена отправителя, у принимающего сервера, скорее всего, есть политика, позволяющая принимать сообщения, если для этого нет особых причин (например, запись в черном списке или полное отсутствие записей MX/SPF для имени домена), даже если IP не соответствует имени домена.

Эти заголовки...

From: Kaye <nobody@www.abc.com>
Reply-To: kaye@mydomain.com

… Неисправны, так как принимающий сервер в основном связан с адресом "от". Адрес для ответа, хотя и может быть действительным, не добавляет достоверности сообщению, и почтовый сервер не будет тратить время на его просмотр, если адрес "от" является недействительным или занесен в черный список.

Этот заголовок...

Message-ID: <be82ada010a752b86440e86e5c24ca0a@www.abcinc.com>

... не будет иметь значения в любом случае, несмотря на "www." в этом. Идентификатор сообщения просто должен быть уникальным, и больше ничего не имеет значения.

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