首先我们需要一个smtp 服务器,这里教大家申请一个smtp服务器,我自己用得是QQ的smtp服务器
一,教你怎么开启163邮箱的POP3/SMTP服务
1,登陆你的163邮箱,点击右上角的“设置”

2,点击“客户端设置”

3,勾选“开启POP3/SMTP服务”,保存即可

二,教你怎么开启QQ邮箱的POP3/SMTP服务
1,登陆你的QQ邮箱,点击上面的“设置”---“帐户”

2,勾选“开启POP3/SMTP服务”,保存即可

好了,按照上面的步骤,你已经有了smtp 服务器,可以开始发邮件了
php 链接服务器
$smtp = 'smtp.qq.com';
$usename = '你的邮箱用户名';
$usepass = '你的邮箱密码';
$mail_from = '123456789@qq.com';
$mail_to = '987654321@qq.com';
$fp = fsockopen($smtp,25,$error,$errstr);
fputs($fp,"HELO mzrui"."\r\n");
$message .=fgets($fp,2000);
fputs($fp,"AUTH LOGIN"."\r\n");
$message .=fgets($fp,2000);
fputs($fp,base64_encode($usename)."\r\n");
$message .=fgets($fp,2000);
fputs($fp,base64_encode($usepass )."\r\n");
$message .=fgets($fp,2000);
fputs($fp,"MAIL FROM: $mail_from"."\r\n");
$message .=fgets($fp,2000);
fputs($fp,"RCPT TO:".$mail_to."\r\n");
$message .=fgets($fp,2000);
fputs($fp,"DATA "."\r\n");
$message .=fgets($fp,2000);
fputs($fp,"From: $mail_from"."\r\n");
fputs($fp,"Subject:".$mail_sub."\r\n"); //邮件标题
fputs($fp,"To:".$mail_to."\r\n");
fputs($fp,"Date: ".date("r")."\r\n"); //邮件日期
fputs($fp,"\r\n");
fputs($fp,$mail_subj . "\r\n"); //邮件内容
fputs($fp,"." . "\r\n");
$message .=fgets($fp,2000);
$message .=fgets($fp,2000);
fputs($fp,"QUIT "."rn");
fclose($fp);
附:SMTP基本命令集:
命令 描述
——————————
HELO 向服务器标识用户身份发送者能欺骗,说谎,但一般情况下服务器都能检测到。
MAIL 初始化邮件传输
mail form :
RCPT 标识单个的邮件接收人;常在MAIL命令后面 可有多个rcpt to:
DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输结束。
VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令
EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用
HELP 查询服务器支持什么命令
NOOP 无操作,服务器应响应OK
QUIT 结束会话
RSET 重置会话,当前传输被取消
分析与SMTP会话的一般流程
1. HELO XXX \r\n //XXX就是自己起个名字,和服务器打个招呼
返回 250 表示成功
2. AUTH LOGIN \r\n //请求与服务器开始验证用户(登陆)
返回 334 表示成功
3. 用户名 \r\n //直接发送用户名PHP中将用户名base64_encode()下
返回 334 表示成功
4. 密码 \r\n //直接发送密码PHP中将密码base64_encode()下
返回235表示成功
5. MAIL FROM \r\n //发件人邮箱地址,一般和上面的用户名密码对应的油箱
返回 250 表示成功
6. RCPT TO \r\n //收件人地址
返回 250 表示成功
7. DATA \r\n //告诉服务器下面开始传输邮件
返回 354 表示成功
8. 传输邮件数据:可以发送邮件了,格式为
From:回信人地址 \r\n //貌似可以写别人的,嘿嘿
Subject:邮件标题 \r\n
To:收件人地址 \r\n
\r\n
正文数据 \r\n
以这个格式发送至服务器,返回250表示发送成功
9. QUIT \r\n 断开连接
返回 221 表示成功
原文地址:http://www.mzrui.com/forum.php?mod=viewthread&tid=165&extra=page%3D1
http://www.mzrui.com 木子建站