Отправляйте электронную почту с помощью PHP, если домен размещен в Media Temple, а электронная почта размещена на domains.live.com. - PullRequest
4 голосов
/ 11 октября 2011

Я установил на своем веб-сайте простую форму для проверки отправки электронной почты с использованием PHP.

Форма отправляет ввод трех текстовых полей в email-form-process.php, который выглядит следующим образом:

<?php

    $email = $_POST['email'];

    $subject = "Test Email Worked";

    $msg = $_POST['comment'];

    mail ('$email','$subject','$msg');

    header('Location: email-form-confirm.php');
    exit();

?>

Я повторил три входа в тесте, чтобы убедиться, что email-form-process.php получает их из формы.

Проблема в том, чтоэлектронное письмо не получено ни на одно из моих писем.Я проверил это, отправив письмо по электронной почте @ live.com и на два пользовательских домена, размещенных на domains.live.com.

Я использую domains.live.com для размещения всей своей электронной почты на своих сайтах.У меня есть настройки DNS-записей через мой хост, MediaTemple, для domains.live.com для обработки моей электронной почты.Это отлично работает для обычной электронной почты, но я не уверен, что лучший способ - это отправлять электронную почту в PHP, используя мои собственные доменные письма, размещенные на domains.live.com.

Как мнеотправлять электронную почту от me@mydomain.com через PHP, когда мой домен размещен на MediaTemple, а моя почта размещена на domains.live.com?

Я еще не пробовал использовать метод SMTP.Будет ли решение, найденное по следующей ссылке, хорошим направлением для меня?http://www.9lessons.info/2009/10/send-mail-using-smtp-and-php.html

Заранее благодарим за любую помощь, которую вы можете предложить!

-Mark

Ответы [ 3 ]

4 голосов
/ 24 октября 2011

Если вы размещаете почту в другом месте, вам необходимо отключить локальную почту для вашего сервера.

http://kb.mediatemple.net/questions/519/How+to+enable+or+disable+local+mail+for+your+server%3F

0 голосов
/ 11 октября 2011

Вы можете использовать что-то вроде PHPMailer, что значительно облегчит использование SMTP-почты. В любом случае, это определенно лучшее решение, чем использование встроенной почтовой команды в PHP, поскольку PHPMailer дает вам гораздо лучшую обработку вложений, обработку получателей и т. Д. Без необходимости писать собственные заголовки для отправки через функцию mail.

Вы также можете отправить с сервера MediaTemple и просто указать имя хоста в качестве своего домена. Он не должен совпадать с записью MX, хотя фильтры спама обращают на это внимание, поэтому вам нужно как минимум настроить свой домен для SenderID и SPF, чтобы хост MediaTemple считался допустимым отправителем электронной почты для вашего домена.

0 голосов
/ 11 октября 2011

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

Вы также можете посмотреть в sendgrid; они помещают IP-адрес вашего сервера в белый список, и ваши письма определенно будут проходить.

Надеюсь, это поможет!

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