2012-01-12 137 views
2

我使用PHP發送腳本中的文本,但它不會發送!它發送電子郵件很好,但它不會發送到文本.....PHP - 郵件()不發送短信

我的代碼:

mail('##########@txt.att.net', '', 'This is a test.'); 
+0

使用完整的10位數字? – 2012-01-12 23:07:07

+0

是的,我是,使用完整的十位數字。 – 2012-01-12 23:11:31

+0

您是否在消息中心設置了個性化地址?本可以讓實際的號碼不起作用,但這只是一個猜測。 – dqhendricks 2012-01-13 00:22:57

回答

0

大多數電子郵件到文本的網關是非常嚴密的關於他們將接受什麼。假設你有正確的地址,沒有被阻止,並且沒有開放的中繼,還有一些其他事情需要檢查。

  • 包含一個有效的主題行
  • 確保您From:信封頭被設置爲一個有效的地址,而不是你的服務器

上的默認看到這個問題設置From:正確:https://stackoverflow.com/a/2014104/362536

+0

'mail('********** @ txt.att.net','test','這是用PHP發送的','From:[email protected]');'那是不是不爲我工作。它是否與頭部的gmail有關? – 2012-01-12 22:56:58

+0

您沒有按照我發給您的鏈接上的說明操作。你需要的不僅僅是'From:'頭文件......你需要一個發送給sendmail的參數。 – Brad 2012-01-13 00:59:41

+0

對不起:/我調整了這個代碼...但仍然沒有迴應。 'mail(「********** @ txt.att.net」,「subject test」,「message test」,「From:[email protected] \ r \ nReply -to:myemail @ gmail .com \ r \ nX-Mailer:PHP /「。phpversion(),」 - f myemail @ gmail。「; – 2012-01-13 01:52:19

0

根據我的經驗,大多數電信運營商使用senderbase這樣的服務來檢查郵件是否來自開放中繼,信譽,spf記錄等等。嘗試使用PEAR郵件包並通過smtp服務器進行身份驗證以進行發送。我成功地爲所有主要電信公司使用它。 php郵件功能不起作用,它需要來自一個真實的地址 - 也要確保你有適當的rdns設置。

+0

如果使用得當,PHP郵件函數肯定會*工作*我已經完成了它 – Brad 2012-01-13 01:00:07

+0

編輯:我的壞郵件函數應該工作if您使用的是真實地址,但您仍然需要確保我帖子中的其他內容正在發生 - 我更喜歡PEAR軟件包,因爲它具有靈活性。 – 2012-01-13 01:07:39

0

您需要爲相應的SMS網關發送相應的標題(參數4或使用PEAR MAIL)。

至少,...

'發件人', '收件人', '主題', '回覆', 'MIME-版本',& '內容型'

。 ..並且取決於載體,可能:

「字符集」,「內容傳輸編碼,&‘內容處置’

確保‘日期’標題被正確配置&由系統中加入,並使用SMTP authenticat離子。

我們最近遇到了Verizon(vtext.com)沒有提供文本或彈回給我們的麻煩。發現標題的信息太長,因爲他們的網關,我只能通過刪除最後三個文本的Verizon員工。 : -/

使用運營商的免費電子郵件 - >短信網關不是一個好的商業解決方案。 非常受打擊。 : -/