Reputation: 111
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
Reputation: 56557
KEEP IN MIND, everytime, after You change php.ini,
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
Reputation: 21
Try this, worked for me:
ini_set("sendmail_from", "[email protected]");
Upvotes: 2
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
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