php发送邮件
在php中发送邮件可以用自带的mail()函数,但是这个函数不足点很明显,最主要是咱本机上没有安装smtp服务就没法使用mail()。
当然现在还有php其他的插件、类什么的,那些也许功能齐全,可是外加就感觉不爽。
那其他办法的话,一般会想到通过SMTP服务器来发送邮件,但是也会产生一系列问题(具体有哪些问题可见参考资料"无须SMTP服务器中转直接发送电子邮件")。对于目前我的需求来说,只需要发送邮件,并不需要接受功能,所以想到如果发邮件要绑定某个邮箱,就感到非常不爽,所以最终还是决定用smtp协议直接发送邮件,这样也省了用户验证这个步骤,可以随时随地发邮件。
方法很简单,如下:
一、找到目标邮箱的SMTP服务器的IP 地址
只要向域名服务器发送查询“163.com”等的目标邮箱服务器地址,便可找到目标邮箱SMTP服务器的IP 地址,该查询指令被称作MX(Mail Exchange)邮件交换服务器的地址查询。
方法1:获取本机DNS,然后与DNS服务器通信实现MX指令查询。(可见参考资料"无须SMTP服务器中转直接发送电子邮件")
方法2:利用windows自带的nslookup工具,可以轻松实现MX查询。
方法3(推荐):用nslookup工具固然方便,但是毕竟要执行外部程序,有点不爽,现在php5.3提供了更加方便的命令,应该就是从nslookup上扩展出来的,getmxrr($hostname,$hosts)只需要提供远程邮局服务器地址,就可以轻松得到所有的该服务器域名了,说明信息见“http://cn.php.net/manual/en/function.getmxrr.php”,里面还能看到nslookup在php中的应用,对于php5.3以下配置的也可以参考这里,非常实用。
二、用socket_create和socket_connect连接目标邮箱服务器, SMTP端口一般为25.
要使用socket,首先要确保php.ini中的extension=php_sockets.dll扩展打开,看phpInfo()显示的内容里,socket模块是否为enable。
注,网上有很多人用fsockopen(), 咱没试过,不好比较
三、SMTP邮件提交
SMTP协议参考[RFC821], 最基本的命令如下:
--------------------------------------------------------------------------
HELO 目标邮箱服务器域名 *这个目前不清楚有什么作用,乱写或者不写好像都没什么关系
MAIL from: <发送者邮箱地址> *初始化邮件传输,对于直接用协议发邮件的,可以不写,也可以自定义,只要是有效邮箱地址即可
R
相关文档:
感谢作者,文章来源
http://www.csask.com/blog/?p=108
eclipse是我非常喜欢的IDE,开源+免费+功能强大+跨平台+跨语言+插件机制,虽然有时候也会有这样那样的问题,但是作为主力开发IDE,eclipse已经非常足够了。
第1步,安装JRE:
sudo apt-get install sun-java6-jre
第2步,下载eclipse:
http://www.eclipse.or ......
PHP的safe_mode选项的目的是为了解决本章所述的某些问题。
但是,在PHP层面上去解决这类问题从架构上来看是不正确的,正如PHP手册所述(http://php.net/features.safe-mode)。
当安全模式生效时,PHP会对正在执行的脚本所读取(或所操作)文件的属主进行检查,以保证与该脚本的属主是相同的。
虽然这样确实可以防范本章中 ......
伪静态用到知识很简单一旦学会,快乐无穷,只需要正则和服务器设置。
先说iis如何设置吧,往下看
下载(IIS Rewrite模块): http://www.isapirewrite.com/,先把产品下载下来,安装在服务器上,记住目录,会有类似Rewrite.dll的文件生成,MMC→IIS信息服务管理器→网站→您的站点→属性,在&ld ......
<?php
//变量定义,画椭圆弧时的角度大小
define("ANGLELENGTH",3);
/**
* 绘制图片
* @param $title 3D图的标题
......
<?php
//变量定义,画椭圆弧时的角度大小
define("ANGLELENGTH",3);
/**
* 绘制图片
* @param $title 3D图的标题
......