我正确使用PHPMailer类将电子邮件发送到从数据库中检索到的多个电子邮件地址。
但是我应该将发送的电子邮件存储在数据库表中吗?
我想将已发送的电子邮件存储在数据库表中。因为每个发送的电子邮件都可以通过单击电子邮件中的链接和确认码来确认。这个回复我想记录。
通过链接的响应将使用唯一的确认代码发送到服务器。因此,表中发送的记录将使用bool / tinyint属性进行更新,以记录电子邮件中的详细信息是否已确认。
我可以通过以下方式将电子邮件(通过带有phpmailer的smtp发送)存储在电子邮件帐户中的已发送文件夹中: Sent mails with phpmailer don't go to "Sent" IMAP folder? 这样,电子邮件内容至少可以访问,因为我不想将这些细节存储在DB
中记录在数据库中发送的已发送电子邮件是否更好?
对于跟踪退回的电子邮件,有以下解决方案: Track emails sent by SMTP with PHP
但是由于错误而未发送电子邮件的事件怎么办? 发生这种情况的示例:
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
我应该在哪里存储未发送的每封电子邮件的错误信息? 这应该记录在DB表中还是放在日志文件中?数据库似乎对搜索和查看更有用....
答案 0 :(得分:1)
如果您使用PHPMailer通过http://www.ultrasmtp.com,http://sendgrid.com或http://jangosmtp.com之类的SMTP服务中继邮件 - 任何这些服务都会跟踪成功/失败的投放和消息的打开,以及将这些数据记录在您自己的数据库中,您可以从中查看报告或搜索,并通过API或导出使您可以使用此信息。
答案 1 :(得分:1)
<强> 1。您希望记录外发电子邮件并通过验证邮件验证您的用户电子邮件在您的数据库中制作以下表格
现在在PHP中生成随机代码并将其存储在users->verification_code
在email_log
中插入电子邮件详细信息时,将相同的代码发送给您的用户。
当用户点击其收件箱中的验证链接时,如果通过将验证更改为true,则将其与存储在用户表格中的数据进行交叉检查,如果正确,则为其提供访问权限。
希望这会有所帮助。