Мы используем хостинговую компанию для нашего веб-сайта, но у нас есть наши почтовые серверы, размещенные нашим провайдером с доменом нашего сайта; @ sample.net.
SMTP mail.isp.com
На веб-сайте у нас есть контактная форма, которая отправляет сообщение по электронной почте questions@sample.net после того, как пользователь отправит ее.
Используя настройку по умолчанию:
SMTP localhost
sendmail_path /usr/sbin/sendmail -t -i
И пользовательские настройки:
sendmail_from noreply@sample.net
Мне удалось успешно отправить почту на внешние домены, отличные от @ sample.com. Изучив это, я считаю, что это потому, что SMTP является локальным хостом и неправильно указывает на наши почтовые серверы ISP.
Какую ценность я бы вложил в SMTP, если бы у меня была внешняя компания, размещающая сайт с нашими почтовыми серверами, размещенными нашим интернет-провайдером?
Помимо того, что сказал @adamo, что действительно вероятно, вы также можете попробовать отправить почту, используя ГРУША :: Почта.
Вот пример кода из unixcraft, который вы можете попробовать.
<?php
include("Mail.php");
/* mail setup recipients, subject etc */
$recipients = "feedback@yourdot.com";
$headers["From"] = "user@somewhere.com";
$headers["To"] = "feedback@yourdot.com";
$headers["Subject"] = "User feedback";
$mailmsg = "Hello, This is a test.";
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "smtp.mycorp.com";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "smtpusername";
$smtpinfo["password"] = "smtpPassword";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$mail_object->send($recipients, $headers, $mailmsg);
?>
Другое решение (если вы хотите, чтобы ВСЯ почта проходила через удаленный почтовый сервер) - настроить SSMTP в качестве двоичного файла sendmail.
Проблема в том, что серверы MX вашего домена (у вашего интернет-провайдера) не принимают электронную почту, отправленную откуда-либо (за пределами интернет-провайдера), которая утверждает, что отправлена вами как законная. Вы должны связаться с почтовой службой технической поддержки вашего интернет-провайдера (это не запрос на поддержку первого уровня в стиле «мой прогноз не работает») и решить эту проблему.
Я писал о подобном случае Вот.
В вашем случае простым решением может быть ISP, позволяющий вашему веб-хосту подключаться к smtp.sample.net и отправлять оттуда почту.