不同类型的邮箱发送邮件的方式也是不同的。
下面我们就先给大家举例介绍qq邮箱开启发送邮件服务的方法。
首先我们登录qq邮箱,打开设置,选择帐户。
然后在帐户下,找到如下所示的开启服务部分。
开启服务中,前两个选项均可实现邮件发送服务。点击开启,会出现验证提示。
确认验证,成功开启POP3/SMTP服务后,就会出现以下授权码。
那么此授权码就可以用于PHP实现邮件发送的开发方法中。
注: 每次开启生成的授权码都会不同,安全性较高。
实现发送邮件的php代码如下:
<?php /*发送邮件方法 *@param $to:接收者 $title:标题 $content:邮件内容 *@return bool true:发送成功 false:发送失败 */ function sendMail($to,$title,$content) { // 这个PHPMailer 就是之前从 Github上下载下来的那个项目 require './PHPMailer/PHPMailerAutoload.php'; $mail = new PHPMailer; //使用smtp鉴权方式发送邮件 $mail->isSMTP(); //smtp需要鉴权 这个必须是true $mail->SMTPAuth = true; // qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址 $mail->Host = 'smtp.qq.com'; //smtp登录的账号 这里填入字符串格式的qq号即可 $mail->Username = '2839247368@qq.com'; // 这个就是之前得到的授权码,一共16位 $mail->Password = 'xccemvofmwcvdgjg'; $mail->setFrom('2839247368@qq.com', '你的主管'); // $to 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可 $mail->addAddress($to); // 该邮件的主题 $mail->Subject = $title; // 该邮件的正文内容 $mail->Body = $content; // 使用 send() 方法发送邮件 if(!$mail->send()) { return '发送失败: ' . $mail->ErrorInfo; } else { return "发送成功"; } } // 调用发送方法,并在页面上输出发送邮件的状态 var_dump(sendMail('358179668@qq.com','会议主题','今天下午开会'));
此方法中,首先我们引入了PHPMailer中的PHPMailerAutoload.php这个文件。PHPMailer是一个用来发送电子邮件的函数包,PHPMailerAutoload.php则是一个自动加载的文件,方便快捷。
那么PHP实现邮件发送的功能,就可以通过PHPMailerAutoload.php来实现。在引入PHPMailerAutoload.php后,我们需要对其中的PHPMailer类进行实例化。
最后就可以直接调用PHPMailer类中的相关方法来实现邮件发送功能。
$mail->isSMTP()则表示使用SMTP服务;
$mail->SMTPAuth设置是否使用身份验证(必须为true);
$mail->Host设置发送方的SMTP服务器地址;
$mail->Username设置发送方的qq邮箱用户名;
$mail->Password 设置发送方的邮箱密码,注意用qq邮箱这里填写的是“授权密码”而不是邮箱的登录密码!
$mail->setFrom()用来设置发件人信息,如邮件格式说明中的发件人,这里会显示为send_user_name(xxxx@qq.com),send_user_name是当做名字显示。
$mail->addAddress()用来设置收件人的邮箱地址。
$mail->Subject 设置邮件标题;
$mail->Body 设置邮件正文。
最后使用 send() 方法发送邮件,并判断邮件是否发送成功,失败则输出错误信息$mail->ErrorInfo。
注:PHPMailer中class.phpmailer.php是主文件,用来实现具体功能,class.smtp.php是使用smtp需要的文件。
查看邮件,发送成功。
声明 本人博客的所有东西,部分源于网络书籍和视频,其他的是个人的理解感悟,经过自己整理撰写成博客。 本人博客均只用于个人学习、复习,不作为商业用途,如有侵权,请联系我修改或删除。 联系邮箱:15121014713@163.com