2013-12-15 252 views
0

我在網上發現了一些php代碼,並對它進行了一些修改,以便它對我有用。這樣做的目標是通過我的域名中的電子郵件向我的收件人發送一封電子郵件,其中包含我想要的信息。它爲我工作的一些電子郵件,但是當我發送郵件到電子郵件的名單上有,我得到一個錯誤,回到我的收件箱下面的文本發送郵件時發生錯誤PHP

Title - "Undelivered Mail Returned to Sender" 

Message - " 
This is the mail system at host gateway06.websitewelcome.com. 

I'm sorry to have to inform you that your message could not 
be delivered to one or more recipients. It's attached below. 

For further assistance, please send mail to postmaster. 

If you do so, please include this problem report. You can 
delete your own text from the attached returned message. 

        The mail system 

<[email protected]>: host mailin-04.mx.aol.com[64.12.88.131] said: 550 
    5.1.1 <[email protected]>: Recipient address rejected: aol.com (in 
    reply to RCPT TO command)" 

,我使用才能發送驗證碼收件人的電子郵件如下所示:

<?php 
include("Mail.php"); 

$recipients = $_GET['email']; 

$headers["From"] = ""; 
$headers["To"]  = $recipients; 
$headers["Subject"] = ""; 

$body = ''; 

$params["host"] = ""; 
$params["port"] = "25"; 
$params["auth"] = true; 
$params["username"] = ""; 
$params["password"] = ""; 

// Create the mail object using the Mail::factory method 
$mail_object =& Mail::factory("smtp", $params); 

$mail_object->send($recipients, $headers, $body); 

?> 

我在做什麼錯?爲什麼它爲一些收件人(我使用@ gmail.com電子郵件嘗試了兩個人),而不是爲其他人工作?

+0

沒有什麼似乎不對的;你有一些不再存在或從未做過的電子郵件,所以系統會拒絕它們,幸運的是它會通知你。 –

+0

'550 5.1.1'表示電子郵件地址無效。它不存在。 –

回答

2

該腳本是細&清楚地發送的消息。郵件只是反彈,這不是腳本的一個因素,但郵件傳輸過程失敗。也就是說,這看起來像是:

  1. 一個電子郵件地址,簡直是不正確或死亡。
  2. 來自服務器的郵件被AOL.com拒絕,因爲它不符合其真實(又名:非垃圾郵件)電子郵件的標準。需要設置PTR記錄或需要調整SPF記錄。

將根據我自己的親身經歷擴大點數2:AOL.com是相當知名的作爲收件人,如果他們失敗一定的標準誰將會退回郵件。我遇到的最常見的是在發送機器的一部分上缺少PTR(又名:反向DNS記錄)。或者您的域的SPF(發件人策略框架)記錄可能未驗證您的IP地址。

PTR & SPF是話題本身上,但我有一種感覺:一個或兩個那些必須固定在你的身邊,作爲發件人,讓郵件正常發送到AOL.com

0

您的電子郵件已被退回。您的郵件系統正常工作,但您的'TO'目的地因X原因未能接受您的電子郵件。

http://en.wikipedia.org/wiki/Bounce_message

+0

那麼我沒有辦法確保它發送到我身邊呢? – Tyluur

+0

你是什麼意思?那種確認?不是真的。你可以檢查你的郵件服務器在你發送郵件時是否給你一個真實或者錯誤的信息,但是我不知道你的send()函數裏面有什麼。 – zeflex

+0

我該如何檢查我的郵件服務器是否給我一個真實或錯誤? – Tyluur

相關問題