易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

PHP session 错误及mysql close 错误处理

在新安装好的mysql ,apahce,php 的时候,如果在代码中使用了sessions_start() 的时候会出现类似以下的错误:
Warning: session_start() [function.session-start]: Cannot send session cooki 等的错误。
请安装如下的思路去修正:
1.在php.ini 中配置 session.savepath='/tmp'
2.开启session.auto_start=1
3.把更改 ......

php 饼状图

<?php  
    //变量定义,画椭圆弧时的角度大小  
    define("ANGLELENGTH",3);  
    /** 
     * 绘制图片 
     * @param $title    3D图的标题 
......

PHP 无限分类

<?php
//作者:梁文平 http://www.tyasp.net
session_start();
if($_SESSION["username"]!="admin")
{
echo("<mce:script type="text/javascript"><!--
alert("操作超时!请重新登陆...");window.location.href="../index.php";
// --></mce:script>");
//header("refresh:0;url=../"); ......

IIS6.0+PHP+MYSQL配置

Win2003server 下架设PHPWind产品环境
安装前准备:1、安装好iis6
            
             
            
&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号