如何使用ini_set设置smtp用户名和密码

时间:2012-02-24 12:01:54

标签: php smtp

这是我发送html邮件的脚本。但是在执行此脚本后,我没有收到邮件。我不知道如何使用ini_set设置用户名和密码(“SMTP”,“smtp.xyz.com “);?他们是否可以在不使用任何外部库文件的情况下设置SMTP?

$name=$_POST['name'];
$email=$_POST['email'];
$mobile=$_POST['mobile'];
$messege="Dear Webmaster,<br /> An user sent query.<br /> Query: <br/> ".$_POST['messege']."<br /><br /><br /> <b>User Contact Detail:</b><br />Name:".$name."<br/> Email:".$email."<br />Mobile:".$mobile;

$to = 'xyz@gmail.com';
$subject = 'xx';

$headers = "From: abc@xyz.com\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";

ini_set("SMTP","smtp.xyz.com");
ini_set("smtp_port","25");
ini_set("sendmail_from","abc@xyz.com");
mail($to, $subject, $message, $headers);

1 个答案:

答案 0 :(得分:4)

正如您可能阅读in the PHP manual,PHP的SMTP功能仅在Windows上可用,它只具有非常基本的功能。如果您需要在Linux上使用它和/或需要用户名和密码验证,SMTPS等,您将需要使用SwiftMailerPHP Mailer等库,或者您需要设置外部SMTP您自己的主机上的服务器,如Exim

但是,除非您对此类事务有经验,否则您不应尝试设置SMTP服务器,或者您将在几天内使您的服务器成为垃圾邮件发送者的巢。