Я пытаюсь отправить почту на мой локальный почтовый сервер. Я использую hMailServer в качестве почтового сервера и настроил его, как указано здесь:
Настройка локального почтового (SMTP, POP3, IMAP) сервера на XAMPP
Но когда я пытаюсь отправить почту, я получаю эту ошибку:
( ! ) Предупреждение: mail() [function.mail]: Ответ SMTP-сервера: 550 The address is not valid. in C:\wamp\www\kariyersitem\register.php on line 161
Лог-файлы почтового сервера показывают эту ошибку следующим образом:
"DEBUG" 3108 "2012-01-08 18:04:24.447" "Creating session 14"
"SMTPD" 3108 14 "2012-01-08 18:04:24.448" "127.0.0.1" "SENT: 220 localhost ESMTP"
"SMTPD" 1728 14 "2012-01-08 18:04:24.454" "127.0.0.1" "RECEIVED: HELO olcay-pc"
"SMTPD" 1728 14 "2012-01-08 18:04:24.455" "127.0.0.1" "SENT: 250 Hello."
"SMTPD" 3108 14 "2012-01-08 18:04:24.457" "127.0.0.1" "RECEIVED: MAIL FROM:"
"SMTPD" 3108 14 "2012-01-08 18:04:24.458" "127.0.0.1" "SENT: 550 The address is not valid."
"SMTPD" 2040 14 "2012-01-08 18:04:24.459" "127.0.0.1" "RECEIVED: QUIT"
"SMTPD" 2040 14 "2012-01-08 18:04:24.460" "127.0.0.1" "SENT: 221 goodbye"
"DEBUG" 3392 "2012-01-08 18:04:24.461" "Closing TCP/IP socket"
"DEBUG" 3392 "2012-01-08 18:04:24.462" "Ending session 14"
Я проверил адрес и уверен, что он правильный.
Может ли кто-нибудь сказать мне, в чем проблема?
Вот мой почтовый код:
$to = $frm_kadi;
$subject = $site_title.' Üyelik Aktivasyonu';
$message = 'hello';
$headers = 'From: '.$contact."\r\n".'Reply-To: '.$contact."\r\n".'X-Mailer: PHP/'.phpversion();
$mresult = mail($to, $subject, $message, $headers);
Я проверил $contact
и он записан как olcayertas@gmail.com
в моем config.php
файле. Перед отправкой почты я использовал функцию echo для отладки своего кода и он правильный.
В настоящее время моя переменная $contact имеет значение:
$contact = "olcayertas@gmail.com";
UPDATE 1
Установка sendmail_from
на olcayertas@gmail.com
в php.ini
, как предложил @Jared Farrish, решила первую проблему. Но теперь у меня новая проблема:
"DEBUG" 3108 "2012-01-08 22:15:28.497" "Creating session 24"
"SMTPD" 3108 24 "2012-01-08 22:15:28.498" "127.0.0.1" "SENT: 220 localhost ESMTP"
"SMTPD" 3108 24 "2012-01-08 22:15:28.499" "127.0.0.1" "RECEIVED: HELO olcay-pc"
"SMTPD" 3108 24 "2012-01-08 22:15:28.500" "127.0.0.1" "SENT: 250 Hello."
"SMTPD" 4380 24 "2012-01-08 22:15:28.511" "127.0.0.1" "RECEIVED: MAIL FROM:"
"DEBUG" 4380 "2012-01-08 22:15:28.542" "Total spam score: 0"
"SMTPD" 4380 24 "2012-01-08 22:15:28.547" "127.0.0.1" "SENT: 250 OK"
"SMTPD" 3108 24 "2012-01-08 22:15:28.548" "127.0.0.1" "RECEIVED: RCPT TO:"
"SMTPD" 3108 24 "2012-01-08 22:15:28.548" "127.0.0.1" "SENT: 550 A valid address is required."
"SMTPD" 2040 24 "2012-01-08 22:15:28.552" "127.0.0.1" "RECEIVED: QUIT"
"DEBUG" 2040 "2012-01-08 22:15:28.552" "Deleting message file"
"SMTPD" 2040 24 "2012-01-08 22:15:28.552" "127.0.0.1" "SENT: 221 goodbye"
"DEBUG" 4380 "2012-01-08 22:15:28.555" "Closing TCP/IP socket"
"DEBUG" 4380 "2012-01-08 22:15:28.556" "Ending session 24"
Похоже, что он не получает адрес назначения полностью. Я пытаюсь отправить письмо самому себе, но он получает только имя пользователя olcayertas
и отсутствующий домен @gmail.com
.
UPDATE 2
Я решил вторую проблему. Это была моя ошибка.
UPDATE 3
Теперь я получаю эту ошибку:
"SENT: 530 SMTP authentication is required."
Но я уже заполнил настройки аутентификации SMTP в разделе Настройки->Тотоколы->SMTP->Доставка электронной почты->SMTP Relayer
. Server requires authentication
и Use SSL
опции отмечены.
UPDATE 4
Отключение Require SMPTP authentication
опции hMailServer в Settings->Advanced->IP Ranges->My Compter
решило проблему SMTP аутентификации.