PHP通过mail()或Socket发邮件

1PHP中发送邮件的方式

   

1)通过mail()函数发送邮件
   mail()
     配置PHP.ini 邮件信息
     需要类似sendmail这样的组件支持
 
 
2)通过socket通讯,使用SMTP传输
 
     socket 连接-->SMTP通讯 -> 获取通讯消息 -> 发送
 
 
 
2mail函数的使用
 
mail() 函数允许您从脚本中直接发送电子邮件。
如果邮件的投递被成功地接收,则返回 true,否则返回 false。
 
mail(to,subject,message,headers,parameters)
 
to 必需。规定邮件的接收者。
subject 必需。规定邮件的主题。该参数不能包含任何换行字符。
message 必需。规定要发送的消息。
headers 可选。规定额外的报头,比如 From, Cc 以及 Bcc。
parameters 可选。规定 sendmail 程序的额外参数。
 
php.ini配置
 
sendmail的支持
 
3socket方式发送原理
 
使用fsockopen函数打开一个Internet连接
 
fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
 
这里由于要使用SMTP协议,所以端口号为25。在打开连接成功后,会返回一
 个socket句柄,使用它就可以象使用文件句柄一样的。可使用的操作有fputs()
fgets()feof()fclose()
 
 
220 服务就绪(socket连接成功时,会返回此信息)
221 正在处理
250 请求邮件动作正确,
354 开始发送数据,结束以 .
500 语法错误,命令不能识别
550 命令不能执行,邮箱无效
552 中断处理:用户超出文件空间
 
<?php
 
requir_once('email.class.php');
 
//使用mail需要配置邮件服务器 
if(@mail("xiaozhao-521@126.com","主题","内容")){
echo "成功";
} else{
 
$smtp=new smtp("smtp.126.com","25",true,"username",“password”);
$smtp->debug=true;
$smtp->sendmail("xiaozhao@126.com","xiaozhao@126.com","标题","内容“,”txt“);
 
 
   ?>
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值