一. PHP中发送邮件的两种方式
1. mail函数
mail()方式发送邮件需要以下条件:
需要在php.ini配置
[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = me@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path =
需要类似于sendmail这样的组件支持
2.socket方式
socket连接-->smtp通讯-->获取通讯消息--->发送
mail函数的使用:
mail() 函数允许您从脚本中直接发送电子邮件。
如果邮件的投递被成功地接收,则返回 true,否则返回 false。
mail(to,subject,message,headers,parameters)
to 必需。规定邮件的接收者。
subject 必需。规定邮件的主题。该参数不能包含任何换行字符。
message 必需。规定要发送的消息。
headers 可选。规定额外的报头,比如 From, Cc 以及 Bcc。
parameters 可选。规定 sendmail 程序的额外参数。
socket方式发送原理:
使用fsockopen函数打开一个Internet连接
使用fsockopen函数打开一个Internet连接
这里由于要使用SMTP协议,所以端口号为25。在打开连接成功后,会返回一
个socket句柄,使用它就可以象使用文件句柄一样的。可使用的操作有fputs(),
fgets(),feof(),fclose()
220 服务就绪(在socket连接成功时,会返回此信息)
221 正在处理
250 请求邮件动作正确,
354 开始发送数据,结束以 .
500 语法错误,命令不能识别
550 命令不能执行,邮箱无效
552 中断处理:用户超出文件空间
使用socket方式发送通常会使用现有的封装好的类,比如phpMailer