phpmailer{群发并且发送附件}
PHPMailer是一个用于发送电子邮件的PHP函数包。
第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/
第二,确认你的服务器系统已经支持socket ,通过phpinfo();查看是否支持sockets(socket 是属于PHP扩展部分),如果显现为 “enabled”,那就是支持了。
第三,把文件解压到你的web服务器目录下,调用类就可以了.
首先包含class.phpmailer.php,然后创建对象,设置参数,调用成员函数。具体请见下面的示例代码:
require("phpmailer/class.phpmailer.php");
function smtp_mail ($send,$sendto,$sendto_email, $subject, $body) {
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = $send['Host']; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = $send['Username']; // SMTP username 注意:普通邮件认证不需要加 @域名
$mail->Password = $send['Password']; // SMTP password
$mail->From = $send['From']; // 发件人邮箱
$mail->FromName = $send['FromName']; // 发件人
if(!empty($sendto['AddCC'][0])){ // 添加抄送
for($i=0;$i<count($sendto['AddCC']);$i++)
{
$mail->AddCC($sendto['AddCC'][$i]);
}
}
if(!empty($sendto['AddBCC'][0])){ // 添加密送
for($i=0;$i<count($sendto['AddBCC']);$i++)
{
$mail->AddBCC($sendto['AddBCC'][$i]);
}
}
$mail->CharSet = "UTF-8"; // 这里指定字符集
$mail->Encoding = "base64";
$mail->MessageID = time();
for($i=0;$i<count($sendto['sendto_email']);$i++)
{
$mail->AddAddress($sendto['sendto_email'][$i]); // 收件人邮箱地址
}
$mail->IsHTML(true); // send as HTML
$mail->Subject = $subject; // 邮件主题
// 邮件内容
$mail->Body = '<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
<body> '.
$sendto['body']
.'</body>
</html> ';
if(!empty($sendto['AddAttachment'][0])){
foreach($sendto['AddAttachment'] as $value){
$mail->AddAttachment('D:/wwwSer/www/nwebs/uploads/'.$value); // 附件的路径和附件名称
}
}
$mail->AltBody ="text/html";
if(!$mail->Send())
{
echo "发送有误 <p>";
echo "错误信息: " . $mail->ErrorInfo;
exit;
}
else{
echo "发送成功!<br/>";
}
}
$send = array( // 接收所需要的数据
'Host' =>$Data2['info'][0]->SMTP,
'Username' =>$Data2['info'][0]->username,
'Password' =>$Auth->Auth_EmailPwDecrypt($Data2['info'][0]->password),
'From' =>$COMMON->Post("senduser"),
'FromName' =>$userinfo->username
);
$sendto = array(
'sendto_email' => $SendTo3,
'AddCC' => $AddCC3,
'AddBCC' => $AddBCC3,
'subject' => $COMMON->Post("subject"),
'body' => $COMMON->Post("content"),
'AddAttachment'=> $FilesNames2
);
//(发送到, 邮件主题, 邮件内容,用户名)
smtp_mail($send, $sendto, $sendto['sendto_email'], $sendto['subject'], $sendto['body']);
}
要注意的内容:
如果你想用它来群发邮件的话,记得修改包含文件函数,如: require("phpmailer/class.phpmailer.php");
改为 require_once("phpmailer/class.phpmailer.php"); 否则的话会产生类的重定义。
phpmailer{群发并且发送附件}的更多相关文章
- TP5使用phpmailer实现邮件发送
1.从github下载PHPMailer,在vendor目录中新建文件夹phpmailer,将压缩包中的class.phpmailer.php和class.smtp.php复制到phpmailer中, ...
- 【Thinkphp 5】 整合邮箱类 phpmailer实现邮件发送
第一步:下载phpmailer文件,主要用到的文件只有箭头指向的两个,thinkphp5中,把class.phpmailer.php改成了phpmailer.php 第二步: 将phpmailer文件 ...
- phpmailer实现邮件发送
phpmailer实现邮件发送 1.代码 <?php require("class.phpmailer.php"); //这个是一个smtp的php文档,网上可以下载得到 $ ...
- python 发送附件至邮箱
python 发送附件至邮箱 import smtplibfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIME ...
- Flask-email 发送邮件的配置,发送附件的方法,以及os.environ.get('MAIL_USERNAME')为None的解决办法
一.发送邮件的配置 在学习flask-mail来发送电子邮件的时候遇到了一些问题,其实都是些小问题,现在记录下来以便于以后查看. 1.首先flask-mail的安装 pip install flask ...
- python测试开发django-30.发送附件EmailMessage
前言 Django的 send_mail() 和 send_mass_mail() 函式事实上是对 EmailMessage 类使用方式 的一个轻度封装.send_mail() 和相关的其他封装函式并 ...
- Mac怎么快速创建便签和发送附件的邮件
1.如何快速创建便签 在Mac的任意界面选中文字:shift+command+y 就能创建便签2.如何快速发送附件的邮件(网页界面) 在Safari网页界面 command ...
- hMailServer之发送附件大小限制
hMailServer发送附件大小限制有以下几个地方: 1.php配置 参考 .post_max_size = 10M 表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交 ...
- gomail发送附件
采用github.com/go-gomail/gomail/ 的邮件功能,可以发送附件 以及html文档,下面是其给出的demo,测试通过. package main //cmd: go get go ...
随机推荐
- AIX项目总结_oracle_sqlloader_01
近来一直在忙AIX的移行项目,但也因自己小小偷懒,所以到现在才开始记录.接下来,言归正传. 这个项目中,学习中了shell相关知识,从基本的语法命令(定义变量.特殊变量使用.循环控制.方法调用等)到l ...
- Joomla必备模块(转自joomla8)
1.Akeeba Backup Core-joomla!网站备份组件. 不论是国内收费主机还是国外的收费主机甚至是免费主机,都必须考虑到数据安全问题.没有哪个主机商可以保证你的网站数据不会丢失,况且很 ...
- Project Euler 9
题意:三个正整数a + b + c = 1000,a*a + b*b = c*c.求a*b*c. 解法:可以暴力枚举,但是也有数学方法. 首先,a,b,c中肯定有至少一个为偶数,否则和不可能为以上两个 ...
- JavaScript 严格模式介绍
如我们所知,JavaScript 是一门灵活的语言.其灵活性同样也带来了很多坑,当然也有一些是设计缺陷.比如 一个变量没有声明就赋值,默认是全局变量,如 (function () { a = 3; } ...
- UVA 10557 XYZZY
Problem D: XYZZY ADVENT: /ad�vent/, n. The prototypical computer adventure game, first designed by W ...
- javascript朝花夕拾
(一)javascript中的数组index属性——获取数组的索引值 例如:要做到这样的效果 点击每个选项时,会显示不同的div. 我们的做法:在javascript中,先把所有的div的displa ...
- 【转】java.lang.StackOverflowError
http://blog.csdn.net/g19920917/article/details/8765638 出现一个java.lang.StackOverflowError异常.弄了半天,又是问高手 ...
- 最严格的身份证校验(JavaScript版)
在JavaWeb研发过程中为了获取有效的用户信息,校验其数据的有效性非常是必要,以下贴出在项目中用到的关于身份证的校验: <!DOCTYPE HTML PUBLIC "-//W3C// ...
- windows7 'telnet'不是内部或外部命令--转载
['telnet'不是内部或外部命令,也不是可运行的程序或批处理文件]当你想用telnet命令时,发现提示这句话怎么办?其实很简单,接下来为大家介绍下如何使用 方法/步骤 一般只有windows7 ...
- js验证邮箱
<html> <head> <script> function verifyAddress(obj) { var email = obj ...