我曾经使用“PHP邮件程序”使用用户的电子邮件和密码进行身份验证,从他们的地址发送到我的应用程序中,但这样带来的不便。如何使用我的客户的电子邮件发送他们的电子邮件作为“发件人”
所以我想要做一些类似“Mailchimp”的事情。 Mailchimp允许用户设置他们的电子邮件,然后Mailchimp只使用用户的电子邮件作为“发件人”。
任何人都可以帮我解决这个问题。
我曾经使用“PHP邮件程序”使用用户的电子邮件和密码进行身份验证,从他们的地址发送到我的应用程序中,但这样带来的不便。如何使用我的客户的电子邮件发送他们的电子邮件作为“发件人”
所以我想要做一些类似“Mailchimp”的事情。 Mailchimp允许用户设置他们的电子邮件,然后Mailchimp只使用用户的电子邮件作为“发件人”。
任何人都可以帮我解决这个问题。
你不能。 MailChimp要求您通过DNS设置验证自己是电子邮件地址和域的所有者。 See more details
您需要做的是首先验证用户的电子邮件地址是否正确。这里是一个很好的演练,显示了如何做到这一点:
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)');
目前尚不清楚您是否正在使用'Mailchimp'或者您只是举例说明了它们具有的功能并且您想要模仿。 –
如果您尝试伪造他们的电子邮件地址,根据设置,您的邮件将被标记为垃圾邮件或完全退回。你应该真的采取不同的方式发送电子邮件。 – DanFromGermany
不要这样做,除非您的服务器被明确授权通过要用作发件人的地址的域SPF记录发送电子邮件。否则,您将以垃圾邮件结束,并可能将您的服务器列入黑名单。 – vard