php中发送邮件的方法


   php中有两种方法:
         1,通过mail()函数发送
          2,Socket发送邮件

一,通过mail()函数发送:
   1,需要配置php.ini邮件信息
        打开php.ini配置文件,配置红色的位置
             ; For Win32 only.
             SMTP = localhost  ---如果本机装了sendmail,这个表示使用本地邮件服务器,也可以是ip地址,还有服务器域名
             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 =    ----邮件服务器的路径

            因为配置较多,所以移植性差

           

  2, 需要类似sendmail这样的组件支持

  3.mail()函数

        mail()函数允许从脚本直接发送电子邮件
        mail()函数返回的是boolean值,成功返回true,失败返回flase
    
        mail(to,subject,message,headers,paeameters);
       
         to --必需,规定邮件的接收者
         subject --必需,规定邮件的主题,该参数不能包含任何换行字符
         message --必需,规定要发送的消息
         headers --可选,规定额外的报头,比如from,Cc以及Bcc 可以参考一些资料
         parameters --可选,规定sendmail程序的额外参数
 
        

二,通过socket通讯,使用SMTP传输

     使用socket也是一个麻烦的方法,但是我们可以下载一个别人写好的类,直接调用就非常方便了

     使用fsockopen函数打开一个internet连接
     fsockopen(string hostname,int port,int[errno],string[errstr],int[timeout]);
     这里由于SMTP传输协议,使用的端口:25。在打开连接成功后,会返回一个socket句柄,
     使用它可以像使用文件句柄一样的,可以使用操作有fputs(),fgets(),feof(),fclose()
 
     一些常用的返回的值:
     220 服务器就绪
     221 正在处理
     250 请求邮件动作正确
     354 开始发送数据,结束以
     500 语法错误,命令不能识别
     550 命令不能执行,邮箱无效
     552 中断处理:用户超出文件空间

 

163邮件发送的时候,会碰到550 用户被锁的现象

可以把邮箱升级为3G免费邮箱在使用一下

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值