2016-02-19 89 views
0

我曾經使用「PHP郵件程序」使用用戶的電子郵件和密碼進行身份驗證,從他們的地址發送到我的應用程序中,但這樣帶來的不便。如何使用我的客戶的電子郵件發送他們的電子郵件作爲「發件人」

所以我想要做一些類似「Mailchimp」的事情。 Mailchimp允許用戶設置他們的電子郵件,然後Mailchimp只使用用戶的電子郵件作爲「發件人」。

任何人都可以幫我解決這個問題。

+0

目前尚不清楚您是否正在使用'Mailchimp'或者您只是舉例說明了它們具有的功能並且您想要模仿。 –

+0

如果您嘗試僞造他們的電子郵件地址,根據設置,您的郵件將被標記爲垃圾郵件或完全退回。你應該真的採取不同的方式發送電子郵件。 – DanFromGermany

+0

不要這樣做,除非您的服務器被明確授權通過要用作發件人的地址的域SPF記錄發送電子郵件。否則,您將以垃圾郵件結束,並可能將您的服務器列入黑名單。 – vard

回答

1

你不能。 MailChimp要求您通過DNS設置驗證自己是電子郵件地址和域的所有者。 See more details

0

您需要做的是首先驗證用戶的電子郵件地址是否正確。這裏是一個很好的演練,顯示瞭如何做到這一點:

http://code.tutsplus.com/tutorials/how-to-implement-email-verification-for-new-members--net-3824

您還需要一個免責聲明,以證明他們已經給你權限發送代表他們的電子郵件。

Disclaimer: by enrolling for this service you are granting this 
app permission to send emails on your behalf. 

接下來,您需要創建一個僅適用於您的應用的功能電子郵件帳戶。例如:

[email protected] 

然後,最後但並非最不重要 - 繼續使用PHPMailer,但使用它不同。驗證併發送來自應用程序功能帳戶的電子郵件,但將AddReplyTo地址設置爲客戶的地址和姓名。例如:

select email, firstname from client; 
$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'tsl'; 
$mail->SMTPDebug = 1; 
$mail->Host  = [email protected]; 
$mail->Port  = EMAIL_PORT; 
$mail->Username = [email protected]; 
$mail->Password = yourpass; 
$mail->SetFrom('[email protected]', 'Functional Mailer'); 
$mail->AddReplyTo('(email from select)', '(firstname from select)'); 
相關問題