2012-06-24 58 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有很好的例子(簡單和高級)。