一 邮件发送原理
(1)组成部分
-->
-->
-->
-->
-->
-->
1. 发信人在用户代理上编辑邮件,并写清楚收件人的邮箱地址;
2. 用户代理根据发信人编辑的信息,生成一封符合邮件格式的邮件;
3. 用户代理把邮件发送到发信人的的邮件服务器上,邮件服务器上面有一个缓冲队列,发送到邮件服务器上面的邮件都会加入到缓冲队列中,等待邮件服务器上的SMTP客户端进行发送;
4. 发信人的邮件服务器使用SMTP协议把这封邮件发送到收件人的邮件服务器上(它会自动根据收件人的邮箱来分析出收件人的邮箱服务器);
5. 收件人的邮件服务器收到邮件后,把这封邮件放到收件人在这个服务器上的信箱中;
6. 收件人使用用户代理来收取邮件。首先用户代理使用POP3协议来连接收件人所在的邮件服务器,身份验证成功后,用户代理就可以把邮件服务器上面的收件人邮箱里面的邮件读取出来,并展示给收件人。
(2)协议简介
协议简介:SMTP
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。(来自百度百科)
协议简介:POP3
POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。(来自百度百科) POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC机或 MAC。一旦邮件发送到 PC 机或 MAC上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。(来自百度百科)
(3)常用的邮件服务器地址
126邮箱
POP3服务器:pop.126.com SMTP服务器:smtp.126.com
163邮箱
POP3服务器:pop.163.com SMTP服务器:smtp.163.com
yahoo邮箱
注意:yahoo在foxmail 4.1以上的版本设置如下:
POP3服务器:pop.mail.yahoo.com.cn SMTP服务器:smtp.mail.yahoo.com.cn
Sohu邮箱
POP3服务器:pop3.sohu.com SMTP服务器:smtp.sohu.com
QQ邮箱
POP3服务器:pop.qq.com SMTP服务器:smtp.qq.com SMTP服务器需要身份验证
从上面大家可以看出,一般的POP3邮件服务器地址为pop然后加上自己的域名,SMTP邮件服务器地址为smtp加上自己的域名。常用的邮件服务器地址都可以在网上找到。各大型邮箱smtp服务器及端口收集 。
二 邮件发送代码(phpmailer)
<?php
require(
"phpmailer/class.phpmailer.php");
require(
"phpmailer/class.smtp.php");
date_default_timezone_set(
'Asia/Shanghai');
$mail =
new PHPMailer();
$address =
"xxxx@qq.com";
$mail->IsSMTP();
$mail->CharSet =
"UTF-8";
$mail->Host =
"smtp.qq.com";
$mail->SMTPAuth =
true;
$mail->Username =
"yyyy@qq.com";
$mail->Password =
"*****";
$mail->From =
"yyyyy@qq.com";
$mail->FromName =
"yz";
$mail->AddAddress(
$address,
"222@qq.com");
$mail->Subject =
"test";
$mail->Body =
"hello";
$mail->AltBody =
"This is the body in plain text for non-HTML mail clients";
if(!
$mail->Send()) {
echo 'Mailer Error: ' .
$mail->ErrorInfo;
}
else {
echo "Message sent!恭喜,邮件发送成功!";
}
?>
转载请注明原文地址: https://ju.6miu.com/read-12155.html