SMTP sock应用--用php发邮件
server_name可以用php自己的dns解析函数,
以下是核心演示,winNT,mail server is Imail,php3.0.6
需要修改php3.ini打开imap模块,在linux上要编译php --with-IMAP
<?php
function send_email ( $to,$from,$subject,$message ){
global $SERVER_NAME;
$fp = fsockopen ( $SERVER_NAME, 25 );
if ( $fp ){
echo "connected";
set_socket_blocking( $fp, false );
$output=fgets($fp,2500);
echo $output;
if (! ereg ( "^220", $output ) ) {
exit();
} else {
echo "talking ";
//set_socket_blocking ( $fp, true );
fputs ( $fp, "HELO $from_domain\n" );
$output = fgets ( $fp, 2000 );
echo $output;
fputs ( $fp, "MAIL FROM: <$from>\n" );
$output = fgets ( $fp, 2000 );
echo $output;
fputs ( $fp, "RCPT TO: <$to>\n" );
$output = fgets ( $fp, 2000 );
echo $output;
fputs($fp,"DATA\n");
fputs($fp,"To: $to\n");
fputs($fp,"From: $from\n");
fputs($fp,"Subject: $subject\n\n");
fputs($fp,"$message\n\n.\n");
fputs($fp, "QUIT\n" );
}
}
fclose($fp);
}
$SERVER_NAME="127.0.0.1";
$from_domain="ws";
$to=" [email protected] ";
$from=" [email protected] ";
$subject="test SMTP through PHP 中文";
$message="Send email via PHP smtp connectionsnnnothing happenesn 中文
中文中文";
send_email ( $to,$from,$subject,$message );
echo "ok lah";
?>