php - 为 PHP 邮件脚本设置时间或发送限制
问题描述
我有一个简单的 php 注册表单,可以捕获姓名和电子邮件地址。注册后,我设置了一封确认电子邮件发送给注册者和一封发送给管理员的确认电子邮件。
我遇到了用户只注册一次的问题,但某些问题导致电子邮件向注册人和管理员发送了 50 多次。它只发生过几次,但我正在努力防止它在未来发生。
我正在考虑运行脚本的时间限制,但想知道处理这个问题的最佳方法。下面是脚本邮件部分的片段。
2个注意事项,以防它们有用:
- 我正在使用 PEAR Mailer
- 我的邮件正在通过 MailGun 发送
$headers = array ('From' => $from,
'To' => $to,
'Bcc' => $bcc,
'Reply-to' => $email,
'Subject' => $subject,
'MIME-Version' => 1,
'Content-type' => 'text/html;charset=iso-8859-1');
$headers_admin_notification = array ('From' => $from_admin_notification,
'To' => $to_admin_notification,
'Subject' => $subject_admin_notification,
'MIME-Version' => 1,
'Content-type' => 'text/html;charset=iso-8859-1');
// credentials for SMTP Authentication included from config file
$smtp = Mail::factory('smtp', array ('host' => 'ssl://smtp.mailgun.org',
'auth' => true,
'port' => 465,
'username' => 'XXXXX',
'password' => 'XXXXX'));
$mail = $smtp->send($to, $headers, $body);
$mail_admin_notification = $smtp->send($to_admin_notification, $headers_admin_notification, $body_admin_notification);
if (PEAR::isError($mail) || PEAR::isError($mail_admin_notification)) {
echo("<p>" . $mail->getMessage() . "</p>");
echo("<p>" . $mail_admin_notification->getMessage() . "</p>");
}
else {
header("Location: LINK-TO-MY-CONFIRMATION-PAGE?fname=$fname&session=$readable_date_and_time");
}
谢谢!
解决方案
推荐阅读
- python - 如果不存在,则使用 defaultdict 处理对键的动态插入
- java - 如何在标签中显示用户名登录
- javascript - Mongodb 使用可选方法连接对象
- c# - 关于 FullRowSelected 属性
- asp.net-core-2.1 - 如何将动态添加的 jQuery 标记绑定到 asp.net core mvc 中的 httpost 控制器操作?
- zebra-printers - 打印模式命令
- javascript - createStore如何从redux中的reducer函数中提取initialState?
- java - org.testng.TestNGException 在类路径中找不到类
- javascript - TintMCE - 单击按钮后更改文本字体大小
- javascript - 删除后自定义元素仍在运行