Почта не доставляется на адрес Gmail или Hotmail - PullRequest
1 голос
/ 09 сентября 2010

Я настроил отправителя почты с библиотекой электронной почты Codeigniter.

Все работает нормально, пока пользователь не укажет адрес gmail или hotmail в качестве своего адреса.

например,

$email = $this->input->post('something@gmail.com');

Это просто обратный адрес для ответа.Само электронное письмо отправляется с учетной записи электронной почты Godaddy.

Мне интересно, если у кого-то были подобные проблемы с библиотекой электронной почты codeigniter или хостингом Godaddy, где простое указание адреса возврата электронной почты приводит к тому, что сообщения не доставляются.1011 * Отладчик не показывает ошибок при отправке формы.Если я изменю значение адреса электронной почты пользователя непосредственно перед отправкой письма, например.строка заменяет gmail на xgmail почта отправляется безупречно.

Вот мой конфигурационный массив

'protocol' => 'sendmail',
'smtp_host' => 'smtpout.secureserver.net',
'smtp_port' => 25,
'smtp_user' => 'info@website.com',
'smtp_pass' => 'password',
'mailtype' => 'text');

Я пробовал gmail и godaddy как smtp_hosts.Оба раза, когда

$email = $this->input->post('email');

является адресом gmail или hotmail, почта никогда не доставляется.

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

РЕДАКТИРОВАТЬ: попытался сделать яснее.

Ответы [ 3 ]

0 голосов
/ 09 сентября 2010

ОК, вы пытаетесь отправить электронную почту через SMTP-сервер Gmail, но вы установили неверный протокол. Установите для протокола smtp и соответственно укажите имя хоста и порт.

0 голосов
/ 21 октября 2010

У меня была такая же проблема, и после долгих поисков я наконец нашел решение. Эти параметры конфигурации у меня работают:

$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'relay-hosting.secureserver.net';
$config['smtp_port'] = '25';
$config['mailtype'] = 'html';

Примечание: указывать имя пользователя и пароль не обязательно. Убедитесь, что отправляемое письмо не содержит слишком много ссылок. Почтовый сервер GoDaddy будет помечен как спам.

Если он все еще не работает с этими настройками, используйте print_debugger, чтобы увидеть точный ответ от почтового сервера:

$this->email->send();
echo $this->email->print_debugger();
exit;
0 голосов
/ 09 сентября 2010

Не отправляется или не доставляется?Две разные вещи.

Если сообщение не доставлено, фильтры спама gmail / hotmail могут отфильтровывать вашу электронную почту.Вы проверили свой СПАМ Входящие?

Если сообщение не отправлено, возможно, адрес электронной почты неверный?Что такое код возврата SMTP?это 5xx?

Я хотел бы прокомментировать вместо «Ответить», но, видимо, пока не могу.(извините)

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