目前项目使用发送邮件方式设计为两种,一是用本地发送,二是用代理服务器发送,因为本地的邮件服务器并没有域名支持所以发出的邮件会被拦截,当网站又域名时可以使用,但是代理服务器网易是可以接受的,qq则会进入垃圾箱,本地发送的垃圾箱都找不到。
首先使用代理服务器必须先开启smtp功能,网易页面打开设置,点击POP3/SMTP/IMAP,选择开smtp服务。之后下载phpmailer类,放入项目中去,
$title=isset($result['title'])?$result['title']:"金商祺运维报修系统";
//获取报修人名称
$name=$this->crud_model->getname($nid);
//获取维修人员的邮件地址
$address=$this->crud_model->getaddress($uid);
$from=isset($result['fromaddress'])?$result['fromaddress']:"jsq_repair_system@163.com";
$username=isset($result['user'])?$result['user']:"jsq_repair_system";
$ip=isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');
//编制邮件内容
$content = isset($result['content'])?$result['content']."<table><tr><td>工单紧急程度</td><td>$urgencyname</td></tr><tr><td>工单报修人</td><td>$name</td></tr></table><a
href='http://$ip/repair#/detail/$id'>点击打开工单</a>":"您好,金商祺运维报修系统<table><tr><td>工单紧急程度</td><td>$urgencyname</td></tr><tr><td>工单报修人</td><td>$name</td></tr></table><a href='http://$ip/repair#/detail/$id'>点击打开工单</a>";
$pwd=isset($result['password'])?$result['password']:"123qwe!@#";
$result=$this->crud_model->sendemail($username,$pwd,$from,$address,$title,$content);
echo $result;
如图有些地方,我用调用了其他地方的方法来获取,具体的需要的信息大概就是title,from,address,content,user,password这几个