用了很长时间去一步一步摸索,终于先在163 网易邮箱上测试成功了,下面就把这个过程分享给大家。
在进入正题这前先看下网易(163)邮箱的服务器地址和端口号:
一、前期准备
使用网易邮箱,当然要注册个账号,这个就不用我多说了,自己去注册。。。
注册完之后,就要去开启pop3/smtp/imap服务。 在开启服务时,需要客户端授权密码(这里需要手机验证,md拐弯抹角的要手机号码)。
步骤一:
步骤二:
确定后会弹出下面这样的对话框,也会把这个授权密码发送你的短信里,记住这个授权密码一定要记住
服务开启后,如果没有设置【姓名】,在写邮件发送时会提示设置【姓名】后才能发送邮件,当然也可以提前设置好。。
二、代码部分
phpmailer下载 ( 下载后把phpmailer放在vendor目录下,另外文件中有很多不必要的东西,自己看着处理吧)
细心的同学在 class.phpmailer.php class.pop3.php class.smtp.php 这三个文件里看下默认的端口号,其smtp的默认端口号是25 与 163下的smtp发件服务器的非ssl协议端口号一样。
html布局:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<!doctype html>
<html lang= "en" >
<head>
<meta charset= "utf-8" >
<title>document</title>
</head>
<body>
<form action= "__url__/add" method= "post" enctype= "multipart/form-data" >
收件人邮箱:<input type= "text" name= "mail" />
标题:<input type= "text" name= "title" />
内容<input type= "text" name= "content" />
<input class = "button" type= "submit" value= "发送" />
</form>
</body>
</html>
|
config.php 配置:
1
2
3
4
5
6
7
8
|
'mail_host' => 'smtp.163.com' , //smtp服务器的名称
'mail_smtpauth' =>true, //启用smtp认证
'mail_username' => 'zha****22@163.com' , //发件人的邮箱名
'mail_password' => 'olagbqsyeyhilcwu' , //163邮箱发件人授权密码
'mail_from' => 'zha****22@163.com' , //发件人邮箱地址
'mail_fromname' => '天空还下着雪' , //发件人姓名
'mail_charset' => 'utf-8' , //设置邮件编码
'mail_ishtml' =>true, // 是否html格式邮件
|
function.php公共函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/*
* 发送邮件
* @param $to string
* @param $title string
* @param $content string
* @return bool
* */
function sendmail( $to , $title , $content ) {
vendor( 'phpmailer.phpmailerautoload' );
$mail = new phpmailer(); //实例化
$mail ->issmtp(); // 启用smtp
$mail ->host=c( 'mail_host' ); //smtp服务器的名称(这里以qq邮箱为例)
$mail ->smtpauth = c( 'mail_smtpauth' ); //启用smtp认证
$mail ->username = c( 'mail_username' ); //发件人邮箱名
$mail ->password = c( 'mail_password' ) ; //163邮箱发件人授权密码
$mail ->from = c( 'mail_from' ); //发件人地址(也就是你的邮箱地址)
$mail ->fromname = c( 'mail_fromname' ); //发件人姓名
$mail ->addaddress( $to , "尊敬的客户" );
$mail ->wordwrap = 50; //设置每行字符长度
$mail ->ishtml(c( 'mail_ishtml' )); // 是否html格式邮件
$mail ->charset=c( 'mail_charset' ); //设置邮件编码
$mail ->subject = $title ; //邮件主题
$mail ->body = $content ; //邮件内容
$mail ->altbody = "这是一个纯文本的身体在非营利的html电子邮件客户端" ; //邮件正文不支持html的备用显示
return ( $mail ->send());
}
|
add方法调用:
1
2
3
4
5
6
7
|
public function add() {
if (sendmail( $_post [ 'mail' ], $_post [ 'title' ], $_post [ 'content' ])) {
$this ->success( '发送成功!' );
} else {
$this ->error( '发送失败' );
}
}
|
做完以上工作后,接下来访问地址,通过表单向163(网易)邮箱发送邮件(如:发送给123456@163.com),也可以发送给自己,发送后,就会看到发送成功。下面你可以登录邮箱查看邮件。
qq邮箱收发邮件
qq邮箱收发件服务器地址和端口
准备:
1、设置邮箱独立密码
2、开启pop3/smtp服务
配置:
1
2
3
4
5
6
7
8
|
'mail_host' => 'smtp.qq.com' , //smtp服务器的名称
'mail_smtpauth' =>true, //启用smtp认证
'mail_username' => '541****34@qq.com' , //发件人邮箱名
'mail_password' => 's****1241' , //qq邮箱发件人独立密码
'mail_from' => '541****34@qq.com' , //发件人地址
'mail_fromname' => '恋狱' , //发件人姓名(qq邮箱昵称)
'mail_charset' => 'utf-8' , //设置邮件编码
'mail_ishtml' =>true, // 是否html格式邮件
|
其他无需改变,完成后不仅可以给qq邮箱用户发送邮件,也可以给163邮箱用户发送邮件。
以上就是thinkphp实现163等邮箱收发邮件的方法,希望对大家的学习有所帮助。
相关文章
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-06-04 59
-
2025-05-27 23
-
2025-05-29 49
-
在VPS中安装和配置IIS以支持ASP.NET的步骤是什么?
2025-05-27 21 -
2025-05-29 45