问题
I am trying to send mail to my local mail server. I am using hMailServer as mail server and I have configured it as mentioned here:
Setting up local Mail (SMTP, POP3, IMAP) Server on XAMPP
But when I try to send mail I am getting this error:
( ! ) Warning: mail() [function.mail]: SMTP server response: 550 The address is not valid. in C:\wamp\www\kariyersitem\register.php on line 161
Log files of the mail server indicates this error as below:
"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"
I have checked address and I am sure it is correct.
Can anyone tell me what is the problem?
Here my mail code:
$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);
I have checked $contact
and It is written as olcayertas@gmail.com
in my config.php
file. Before sending mail I have use echo function to debug my code and it is correct.
Currently my $contact variable is set to:
$contact = "olcayertas@gmail.com";
UPDATE 1
Setting sendmail_from
to olcayertas@gmail.com
in php.ini
as @Jared Farrish suggested solved the first problem. But now I have a new problem:
"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"
It seems like it does not get destination address completely. I am trying to send mail to myself but it gets only username olcayertas
and missing domain @gmail.com
.
UPDATE 2
I have solved the second problem. It was my mistake.
UPDATE 3
Now I am getting this error:
"SENT: 530 SMTP authentication is required."
But I have already filled SMTP authentication settings under Settings->Ptotocols->SMTP->Delivery of e-mail->SMTP Relayer
. Server requires authentication
and Use SSL
otions checked.
UPDATE 4
Disabling Require SMPTP authentication
options of hMailServer in Settings->Advanced->IP Ranges->My Compter
solved SMTP authentication problem.
回答1:
To solve SENT: 550550 The address is not valid.
problem, you have to set sendmail_from
to a valid mail address in php.ini
file.
To solve SENT: 530 SMTP authentication is required
problem, open hMailServer Administrator. Go to Settings->Advanced->IP Ranges->My Compter. Disable all options under "Require SMTP authentication" section.
回答2:
It seems that you are sending the "sender"-email (From-Header) like this: you@yourdomain
. yourdomain
is an invalid domain. Change this to a valid email-address.
回答3:
You're using you@yourdomain
as the From address and the server rejects it.
Use a real address instead.
回答4:
I'm guessing $contact
is <olcayertas@gmail.com>
and that's what's causing the problem. Try changing it to olcayertas@gmail.com
.
回答5:
KEEP IN MIND, every time, after You change php.ini,
you should restart wamp (! ! !)
to read the updated php.ini
p.s. you may need to use ini_set("sendmail_from", "your_user@gmail.com");
in your php script, before mail();
来源:https://stackoverflow.com/questions/8779165/sending-mail-to-local-mail-server-sent-550-the-address-is-not-valid