我当时使用的是PHPMailer-5.2
版本,在更新到6.x
版本以后使用方式不同了,请自行根据文档测试
或者直接使用 5.2 版本的分支
最近突然想在Centos
服务器上弄一些定时任务,但是又不想一直监视,所以打算在服务器上弄一个邮件功能,这样当任务完成的时候就可以直接通过邮件给我及时发送通知。
先在github上找了一下,发现了一个开源的邮件发送模块,很欣慰
地址:https://github.com/PHPMailer/PHPMailer
目前为止该项目已经有了8884个star,据文档说明,该项目使用范围很广,包括WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla!
等,更多信息你还是自己去github上看吧,不介绍了。
粗略看了一下使用起来比较简单,所以就用这个吧!
你需要一点点东西
- 一台能用的电脑/服务器
- 安装了php
- 有至少两个邮箱(一个也可以,自己给自己发:))
- 0.5克 脑子
好,开始了
以网易邮箱举例,首先你要知道如何开启SMTP
(其实每个邮箱官网都会有介绍,自己去看看就好啦,这里给你几个示例)
首先,先从github上
下载
或者使用git方式克隆下来git clone https://github.com/PHPMailer/PHPMailer.git
- 下载下来应该就是一个文件夹了,然后你在文件夹外面新建一个
index.php
文件,目录应该如下了 mail (文件夹)
- PHPMail (文件夹)
- index.php
- 然后你就在这个
index.php
文件里写点东西就可以了,PHPMail
这个文件夹我们不需要动,因为我们需求又不高,如果只是简单发送邮件的话(笑
按照这个代码复制进去改一下就行了
<?PHP
//邮件发送
require './PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
// $mail->SMTPDebug = 3; // 调试输出
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.163.com'; // 这个是网易邮箱的
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'gty0211@163.com'; // 邮箱帐号
$mail->Password = 'password'; // SMTP 密码(这个密码一般和邮箱登陆密码不一样)
$mail->SMTPSecure = 'ssl'; // 加密方式,可以设置 TLS , ssl 也可以
$mail->Port = 465; // 协议端口号,跟加密方式关联,一般是465,不行的话就一个个试试吧
$mail->setFrom('gty0211@163.com', 'TianYu'); //发信地址,后一个是昵称
$mail->addAddress('xxxxxxxxx@qq.com','demo'); // 收信地址,后一个是昵称
// $mail->addAddress('xxxxxxxxx@qq.com'); // 也可以这样写,昵称不填
// $mail->addReplyTo('info@example.com', 'Information'); //
// $mail->addCC('cc@example.com'); //抄送
// $mail->addBCC('bcc@example.com'); //抄送有关,反正我不用
// $mail->addAttachment('/var/tmp/file.tar.gz'); // 添加附件地址
// $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // 添加附件,修改附件名称
$mail->isHTML(true); // 是否发送HTML格式邮件
$mail->Subject = '这是个主题'; //主题
$mail->Body = '这是一个 HTML 形式的 <b> bold!</b>'; //html类型正文
$mail->AltBody = '这是个纯文本形式的body!'; //普通形式正文
if(!$mail->send()) {
echo 'Message 发送失败. ';
echo '错误信息: ' . $mail->ErrorInfo;
} else {
echo 'Message 已发送';
}
然后让php执行就可以了
php index.php
或者直接访问到这个index.php
项目地址,也会自动发送邮件。
好了,邮件发送到这里就已经成功了。
你也可以作死地把这个邮件发送
功能嵌入到其他项目,shell,python脚本里面。
The END
评论邮件提醒已打开,测试
好的,回复测试