user1557515
user1557515

Reputation: 111

mail(): SMTP server response: 550 The address is not valid error on hmailserver

I am getting this error despite configuring php.ini to a valid send_from address. I know it is valid because it works when I send it from squirrel mail but when sending mail in php it will just not work. the invalid address presumably refers to the send_from address. so I can't see how it can think it's wrong. here is the php code:

$email="[email protected]";
$subject = "Your New Password";
$from="[email protected]";
$message = "Your new password is as follows:

xxxxxxxxxxxxxxxxxxxxxxxxxxx

This email was automatically generated.";

      if(!mail($email, $subject,$message,$from)){
         echo ("error");
      }else echo "success";

and in php.ini:

SMTP = localhost

sendmail_from = [email protected]

Upvotes: 1

Views: 26433

Answers (5)

T.Todua
T.Todua

Reputation: 56557

here is another solution - WAMP send Mail using SMTP localhost


KEEP IN MIND, everytime, after You change php.ini,

you must restart wamp (! ! !)

p.s. in php.ini, i have used:

SMTP = localhost 
smtp_port = 25 
sendmail_from = [email protected]

or if oyu cant edit php.ini, try to insert these lines in your php script.

ini_set("SMTP", "localhost");
ini_set("smtp_port", "25");
ini_set("sendmail_from", "[email protected]");

Upvotes: 0

venky1893
venky1893

Reputation: 21

Try this, worked for me:

ini_set("sendmail_from", "[email protected]");

Upvotes: 2

rationalboss
rationalboss

Reputation: 5389

550 Delivery is not allowed to this address

This error means that the sender is trying to send an email to an address which he is not allowed to send to. This message is generated after hMailServer has checked the IP range settings. As an example, the default IP range configuration does not allow external users to send messages to other external users. This is to prevent people from using your server to send spam. So if an external user tries to send a message to another external user, he will get this message.

That is the meaning of the error you are getting. This is from the hMailServer Documentation.

Can you try if the following will work?

<?php
mail('[email protected]','Test Email','This is a test email.',"From: [email protected]");
?>

If it doesn't work, then it's probably due to a misconfiguration in your hMailServer and you would need to check your hMailServer Logs.

Upvotes: 5

Gerald Schneider
Gerald Schneider

Reputation: 17797

The 4th parameter of the mail() function is not plain "from". In your code, you are only passing the email address without "From: " - The fourth parameter is for additional mail headers, so you have to format it like this:

mail($email, $subject,$message,"From: [email protected]\r\nX-Mailer: PHP");

I added another header as an example.

Upvotes: 2

BugFinder
BugFinder

Reputation: 17868

You need quotes and a semi-colon:

$email="[email protected]";

Upvotes: 0

Related Questions