2012-06-24 41 views
3

我想使用原生的PHP函数通过Gmail发送一个简单的测试电子邮件SMTP,但它不工作。通过Stack Overflow等各种论坛,我看到的唯一解决方案是推荐第三方电子邮件库/框架/ api的解决方案。这是否意味着PHP的mail()不适用于Gmail,如果是这样,为什么?原生的PHP邮件功能似乎不适用于Gmail

以下是代码:

<?php 
$to ="[email protected]"; 
$sbj ="test mail"; 
$msg ="testing! testing!! testing!!!"; 

ini_set("SMTP", "ssl://smtp.gmail.com"); 
ini_set("smtp_port", 465); 
ini_set("sendmail_from", "[email protected]"); 

$header ="From: " .ini_get("sendmail_from"); 

mail($to, $sbj, $msg, $header); 

?> 

而且我得到了错误消息:

警告:电子邮件():无法连接在“SSL到邮件服务器://smtp.gmail .COM”端口465,验证 “SMTP” 和 “SMTP_PORT” 在php.ini设置或用C使用的ini_set():\瓦帕\万维网\测试\ web1的\ test1.php第12行

+0

在这里有一个答案没有第三方的解决方案http://stackoverflow.com/questions/712392/send-email-using-gmail-smtp-server-from-php-page – GDP

+0

@GDP,我已经看到了这个解决方案。它确实推荐PEAR邮件包,但我正在寻找关于PHP本地邮件()函数的答案,它是否适用于Gmail? –

+0

看看http://stackoverflow.com/questions/10453926/phpmailer-and-100k-file-limit-for-attachments/10455296#10455296。 – brezanac

回答

0

这是否意味着PHP的mail()不适用于Gmail,如果是这样,为什么?

的Gmail服务器要求用户发送的任何消息之前认证,mail()不提供任何认证方法

+0

所以这是一个确定的不!然后? PHP邮件()不能与gmail一起使用? –

+0

理论上应该可以通过配置sendmail使用Gmail作为中继主机,所以我不是说明确的NO。 –

1

的最适合你的班级是phpmailer。 Gmail有很好的例子(简单和高级)。