Mik*_*Eng 2 php email spam-prevention
我正在制作一个表格,允许用户向他们的朋友发送电子邮件.表单将包含以下字段:
理想情况下,电子邮件标题中的"来自"字段将是用户输入的"来自电子邮件"地址,以便收件人识别发件人.
但我认为,当用户输入"来自电子邮件"地址时,在标题中设置"起始"字段将无法通过SPF验证并增加电子邮件被标记为垃圾邮件的可能性.
什么是最佳做法:
快速抽查,
如果您的域名是example.com,则来自表单的外发电子邮件中的FROM标头必须类似于info@example.com或noreply@example.com
将REPLY-TO标头设置为用户在表单上输入的"from"地址.
要使收件人能够识别"FROM"地址,您可以将发件人姓名放在FROM标题中,这样当收件人看到电子邮件进来时,它会说出某些内容. "John Smith <noreply@example.com>"
由于您使用的是PHP,我建议您查看Swiftmailer.除了提供用于构建和格式化电子邮件的精彩方法之外,它还可以帮助您避免许多常见的标题问题.
官方Swiftmailer网站:http://swiftmailer.org/
您的代码可以像下面这样简单:
$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setSubject('This is the subject of your message')
->setFrom(array('noreply@example.com' => 'John Smith'))
->setReplyTo(array('john.smith@gmail.com' => 'John Smith'))
->setTo(array('recipient@example.com'))
->setBody('The body of your email goes here.');
$mailer->send($message);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |