没有使用PHP收到电子邮件

时间:2011-04-07 19:14:08

标签: php email email-integration

我想使用php代码发送确认电子邮件。我已经尝试了所有解决方案,例如mail()和phpmailer,但没有任何工作。这是我的mail()

代码
ini_set(sendmail_from, "xyz@domainname.net" );
ini_set(SMTP, "aspmx2.googlemail.com" );
ini_set(smtp_port, 25 );
$username = "xyz";
 $password = "password";
$to=$email;
$subject="Activate you account"; 
$message="
Hello $fullname, \n \n
    ";
$headers="From: xyz@ domainname.net";
 mail($to, $subject, $message, $headers);
die ("You have been registerd. Check you email to activate your account!");

我在页面上收到“You have been registered. Check you email to activate your account”消息,但我没有收到电子邮件。

我试过没有ini_set(),但它仍然没有用。我也在php.ini文件中设置了SMTP和端口,但它仍无法正常工作。

请帮忙!! 谢谢

3 个答案:

答案 0 :(得分:4)

您实际上并未设置mail()电话的用户名/密码。您所做的只是设置一些变量,然后不以任何方式为邮件使用这些变量。因此,您尝试通过Google发送邮件失败了,因为您没有进行身份验证。

但正如其他答案所说,不要使用内置的mail()函数。请改用PHPMailerSwiftmailer。它们更容易使用,处理文件附件和多部分MIME邮件的所有丑陋的东西,并在一个漂亮的OOP接口后面完成。

答案 1 :(得分:1)

点到这里:

您在不检查返回代码的情况下调用mail - 这意味着您知道尝试发送消息,但您不知道它是否成功。这对调试没有帮助。

其次,Gmail需要加密连接才能进行身份验证。标准SMTP连接未加密。

答案 2 :(得分:0)

尝试使用PHPmailer发送电子邮件 我听说过很多很棒的事情。

PHPMailer配置示例

$mail->Mailer = "smtp";  
$mail->Host = "ssl://smtp.gmail.com";  
$mail->Port = 465;  
$mail->SMTPAuth = true; // turn on SMTP authentication  
$mail->Username = "username@gmail.com"; // SMTP username  
$mail->Password = "password"; // SMTP password