本人接触PHP已有一年,公司需要导入excel然后发送给每个人工资条,所以我就借助各方面资源写了这些,现在公司已经开始使用了,如有一些地方写得有问题或者很糟糕的地方,还请各位大神给出指点,小弟再修正.
思路是使用多个邮箱 轮流 依次 给多个员工发送邮件,是为了防止因为短时间大批量发送邮件被封,我也不知道这样管不管用,但是我是这么做的,比如有邮箱m1,m2,m3.员工有12345,那么发送的顺序是这样的m1=>1,m2=>2,m3=>3,m1=>4,m2=>5
这篇文章省略了Excel的导入,DAO层的操作,主要是controller和service层的邮箱选择并且轮流给每位员工发送邮件的操作,看起来比较简陋,我个人感觉功能应该没什么太大的问题
邮箱里边这个东西要先打开,要不然一切都是徒劳
phpexcel和phpmailer放在了vendor下边,这两个文件git上都有自己下载就是了
我也在网盘里存了一份,链接:https://pan.baidu.com/s/1kYnVs21US6pRxrDIRMfXjg 密码:fg5d
在extend里边写了一个执行发送和选择邮箱的类
<?php
namespace util;
use PHPMailer\PHPMailer\PHPMailer;
class Mail
{
private $emails = [
'123@163.com',
'456@sina.com',
'789@qq.com',
];
private $current_id =0;
private $last_id = 0;
private $password = '***';//因为我上边用的邮箱,密码都是相同的,所以我在这里定义了一个密码
private static $instance=null;
function __construct(){
$this->last_id=count($this->emails)-1;
$this->current_id=0;
}
/**
* @return Mail|null
* 单例 避免并发冲突
&nb