php 虽然提供了 mail()函数, 但并不好用, 而 PHPMailer 是一个不错的邮件发送工具, 使用起来也是非常简单!
使用 PHPMailer 发送邮件:
代码如下:
- header("content-type:text/html;charset=utf-8");
- ini_set("magic_quotes_runtime",0);
- require 'class.phpmailer.php';
- try {
- $mail = new PHPMailer(true);
- $mail->IsSMTP();
- $mail->CharSet='UTF-8'; // 设置邮件的字符编码, 这很重要, 不然中文乱码
- $mail->SMTPAuth = true; // 开启认证
- $mail->Port = 25;
- $mail->Host = "smtp.163.com";
- $mail->Username = "phpddt1990@163.com";
- $mail->Password = "这是密码";
- //$mail->IsSendmail(); // 如果没有 sendmail 组件就注释掉, 否则出现 Could not execute: /var/qmail/bin/sendmail 的错误提示
- $mail->AddReplyTo("phpddt1990@163.com","mckee");// 回复地址
- $mail->From = "phpddt1990@163.com";
- $mail->FromName = "www.phpddt.com";
- $to = "987044391@qq.com";
- $mail->AddAddress($to);
- $mail->Subject = "phpmailer 测试标题";
- $mail->Body = "
phpmail 演示
这是 php 点点通 (www.phpddt.com) 对 phpmailer 的测试内容 ";
- $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // 当邮件不支持 html 时备用显示, 可以省略
- $mail->WordWrap = 80; // 设置每行字符串的长度
- //$mail->AddAttachment("f:/test.png"); // 可以添加附件
- $mail->IsHTML(true);
- $mail->Send();
- echo '邮件已发送';
- } catch (phpmailerException $e) {
- echo "邮件发送失败:".$e->errorMessage();
- }
- ?>
打开我的 qq 邮件可以看到:
测试非常顺利:
从上图可以看出, PHPMailer 是支持 html 格式发送, 而且支持发送图片, 附件! 经过测试, 对各种 SMTP 服务器兼容很好!
添加附件如果报错:
那是因为 (set_magic_quotes_runtime()) 已经关闭并且在 PHP6 中已经完全移除此特性
你可以注释或者删除掉出错的行, 或者是在 set_magic_quotes_runtime()前面加 @符号
或者是配置; error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
PHPMailer 及测试文件下载: http://xiazai.jb51.net/201212/yuanma/3610674900_jb51.rar
来源: https://www.php1.cn/detail/php-513ba41cbb.html