- 27
- 0
<?php
//邮件发送
require '../static/assets/vendors/mailer/class.phpmailer.php';
require '../static/assets/vendors/mailer/class.smtp.php';
require '../functions.php';
date_default_timezone_set('PRC');
ignore_user_abort();
set_time_limit(0);
$interval = 60*1;
do{
$sql = 'select bir,email FROM users ';
$bir_email = xiu_query($sql);
$arr = array( );
$b=date('m/d');
foreach ($bir_email as $item) {
$timestamp = strtotime($item['bir']);
$a = date('m/d', $timestamp);
if ($a === $b) {
$arr[$item['email']] = $item['bir'];
}
}
$mail = new PHPMailer();
$mail->SMTPDebug =3;
$mail->isSMTP();
$mail->SMTPAuth=true;
$mail->Host = 'smtp.qq.com';
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->SMTPSecure = 'ssl';
//设置ssl连接smtp服务器的远程服务器端口号 可选465或587
$mail->Port = 465;
$mail->Hostname = 'localhost';
$mail->CharSet = 'UTF-8';
$mail->FromName = 'XXXXXX';
$mail->Username ='xingyang0320@foxmail.com';
$mail->Password = 'ipstvtuisxwaeche';
$mail->From = 'xingyang0320@foxmail.com';
$mail->isHTML(true);
// foreach ($variable as $key => $value) {
// $mail->addAddress($key);
// }
$mail->addAddress('2010055685@qq.com');
$mail->Subject = '生日快乐';
$mail->Body ='祝你生日快乐';
// $mail->addAttachment('./src/20151002.png','test.png');
$status = $mail->send();
if($status)
{
echo '发送邮件成功'.date('Y-m-d H:i:s');;
}
else
{
echo '发送邮件失败,错误信息未:'.$mail->ErrorInfo;
}
sleep($interval);//休眠1minute
}while(true);
?>
date_default_timezone_set('PRC');
ignore_user_abort();
set_time_limit(0);
$interval = 60*1;
这个虽然可以定时发送 但是无法更改
do 里面的函数 我需求是每次都连接数据库 要查询一回生日 是否和今天一样
是的话放入arr 数组
进行多个发送
但是使用 没有响应
foreach ($variable as $key => $value) {
$mail->addAddress($key);
}
其次在执行时 如果更改 一些设置 它还是按原来的发送一次 新的发送一次
这样即使更改今天给谁发送生日邮件 以前的也会执行吧
- 共 0 条
- 全部回答
-
别动我 普通会员 1楼
在PHP中,你可以使用PHPMailer库来发送邮件。以下是一个简单的示例,展示了如何发送生日邮件:
首先,你需要安装PHPMailer库。你可以从PHPMailer的官方网站下载并安装。
bash composer require phpmailer/phpmailer然后,你可以创建一个PHP文件(例如
send生日邮件.php),并添加以下代码:```php
mail = new PHPMailer; } public function send($email, $name, $message) { $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = 'your-email@gmail.com'; $mail->Password = 'your-password'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom('your-email@gmail.com', 'Your Name'); $mail->addAddress($email, $name); $mail->addCC('cc-email@gmail.com', 'CC Name'); $mail->addBCC('bcc-email@gmail.com', 'BCC Name'); $mail->Subject = 'Your Birthday'; $mail->Body = $message; $mail->send(); } } // 使用示例 BirthdayMail::send('user@example.com', 'John Doe', 'Happy Birthday!'); ?>```
在这个示例中,我们首先创建了一个
BirthdayMail类。在构造函数中,我们设置了邮件的主机、SMTP服务器、用户名、密码和端口。然后,我们创建了一个
send方法,该方法接受邮件的发件人、收件人、主题和消息作为参数。最后,我们使用
send方法发送邮件。在这个例子中,我们发送了一封简单的生日邮件。注意:在实际使用中,你需要将
your-email@gmail.com、your-password和cc-email@gmail.com、bcc-email@gmail.com替换为你的实际电子邮件地址、密码和收件人邮件地址。此外,你还需要安装
PHPMailer库,你可以从PHPMailer的官方网站下载并安装。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
