Я пытаюсь отправить почту на мой локальный почтовый сервер. Я использую hMailServer в качестве почтового сервера и настроил его, как указано здесь:
Настройка локального почтового (SMTP, POP3, IMAP) сервера на XAMPP
Но когда я пытаюсь отправить почту, я получаю эту ошибку:
(!) Внимание: mail () [function.mail]: SMTP-ответ сервера: 550
адрес не действителен. в C: \ wamp \ www \ kariyersitem \ register.php на линии
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:<you@yourdomain>"
"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
и в моем файле config.php
написано olcayertas@gmail.com
. Перед отправкой почты я использую функцию эха для отладки моего кода, и это правильно.
В настоящее время моя переменная $ contact установлена на:
$contact = "olcayertas@gmail.com";
ОБНОВЛЕНИЕ 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:<olcayertas@gmail.com>"
"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:<olcayertas>"
"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
.
ОБНОВЛЕНИЕ 2
Я решил вторую проблему. Это была моя ошибка.
ОБНОВЛЕНИЕ 3
Теперь я получаю эту ошибку:
"SENT: 530 SMTP authentication is required."
Но я уже заполнил настройки аутентификации SMTP под Settings->Ptotocols->SMTP->Delivery of e-mail->SMTP Relayer
. Проверено Server requires authentication
и Use SSL
.
ОБНОВЛЕНИЕ 4
Отключение Require SMPTP authentication
параметров hMailServer в Settings->Advanced->IP Ranges->My Compter
решило проблему аутентификации SMTP.