如何使用我的客户'电子邮件发送他们的电子邮件作为"发件人"

时间:2016-02-19 12:35:39

标签: php email email-integration email-client

我曾经使用" Php邮件"使用用户的电子邮件和密码进行身份验证,以便在我的应用中从他们的地址发送,但这样会给您带来不便。

所以我想做一些像" Mailchimp"确实。 Mailchimp允许用户设置他们的电子邮件,然后Mailchimp只使用用户的电子邮件作为"发件人"。

请有人帮我解决此电子邮件问题。

2 个答案:

答案 0 :(得分:1)

你不能。 MailChimp要求您通过DNS设置验证自己是电子邮件地址和域的所有者。 See more details

答案 1 :(得分: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.

接下来,您需要创建仅属于您的应用的功能性电子邮件帐户。例如:

 clientmailer@myapp.com

然后,最后但并非最不重要 - 继续使用PHPMailer,但以不同方式使用它。从应用程序的功能帐户验证和发送电子邮件,但将AddReplyTo地址设置为客户的地址和名称。例如:

 select email, firstname from client;
 $mail = new PHPMailer();
 $mail->IsSMTP();
 $mail->SMTPAuth   = true;
 $mail->SMTPSecure = 'tsl';
 $mail->SMTPDebug  = 1;
 $mail->Host       = yourhost@myapp.com;
 $mail->Port       = EMAIL_PORT;
 $mail->Username   = clientmailer@myapp.com;
 $mail->Password   = yourpass;
 $mail->SetFrom('clientmailer@myapp.com', 'Functional Mailer');
 $mail->AddReplyTo('(email from select)', '(firstname from select)');