WINDOWS下PHP发送EMAIL的问题。

flyonet 2005-05-20 10:24:22
mail函数在WINDOWS下应该是不好使的吧?

APACHE和PHP应该怎样配置,才可以用PHP发送出EMAIL?

有知道的可以指点一下吗?
...全文
512 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyonet 2005-06-03
  • 打赏
  • 举报
回复
各位仁兄,有没有能给我一个比较全面的说明的?
zhiin1 2005-05-22
  • 打赏
  • 举报
回复
在win32环境下 如何才能使支持mail函数直接发送呢?
wildlily980 2005-05-20
  • 打赏
  • 举报
回复
我用socket和类发送邮件,从来没有发送出过正文。
主题倒是可以。
flyonet 2005-05-20
  • 打赏
  • 举报
回复
TO:keaizhong(可爱钟)
可以详细说说吗?
TO:coolstr(占卜师)
用keaizhong(可爱钟)说的IIS的SMTP服务器不知道可不可以?
coolstr 2005-05-20
  • 打赏
  • 举报
回复
其实你只要找到一个可以匿名发邮件的邮件服务器,然后修改php.ini以下部分

[mail function]
; For Win32 only.
SMTP = localhost ; for Win32 only
smtp_port = 25
sendmail_from= me@localhost.com ; for Win32 only

将localhost改为 可以匿名发邮件的邮件服务器的地址即可。
mrshelly 2005-05-20
  • 打赏
  • 举报
回复
建议用 Socket + SMTP 类去发送。~~~~
keaizhong 2005-05-20
  • 打赏
  • 举报
回复
网上有些教程可以参考,但有一些注意点。
首先你要有邮件服务器,IIS自带的有一个,
其次就是关闭一些防火墙,这个对发邮件有影响,之前我怎么也发不出去,关掉就可以。
wjjchen 2005-05-20
  • 打赏
  • 举报
回复
<?
function send_mail($to,$from,$subject, $message,$html=0)
{
//使用本函数之前,务必请定义好以下变量
#############################################

$smtp ="exmaple.com"; //SMTP 服务器
$check = 1;
//SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
if ($check) {

$username = "adsf@exmaple.com"; //您的email帐号名称
$password = "exmaple"; //您的email密码
}

$s_from = "adsf@exmaple.com"; //此email 必需是发信服务器上的email
###############################################

//连接服务器
$fp = fsockopen ( $smtp, 25, $errno, $errstr, 60);
if (!$fp ) return "联接服务器失败".__LINE__;
set_socket_blocking($fp, true );
$lastmessage=fgets($fp,512);

if ( substr($lastmessage,0,3) != 220 ) return "错误信息A:".$lastmessage.__LINE__;

//HELO
$yourname = "admin";
if($check == "1") $lastact="EHLO ".$yourname."\r\n";
else $lastact="HELO ".$yourname."\r\n";

fputs($fp, $lastact);
$lastmessage == fgets($fp,512);
if (substr($lastmessage,0,3) != 220 ) return "错误信息B$lastmessage".__LINE__;
while (true) {
$lastmessage = fgets($fp,512);
if ( (substr($lastmessage,3,1) != "-") or (empty($lastmessage)) )
break;
}


//身份验证
if ($check=="1") {
//验证开始
$lastact="AUTH LOGIN"."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息C$lastmessage".__LINE__;
//用户姓名
$lastact=base64_encode($username)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息D$lastmessage".__LINE__;
//用户密码
$lastact=base64_encode($password)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != "235") return "错误信息E$lastmessage".__LINE__;
}

//FROM:
//$lastact="MAIL FROM: $s_from" . "\r\n";
$lastact="MAIL FROM: ".$s_from. "\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息F$lastmessage".__LINE__;

//TO:
$lastact="RCPT To: $to" . "\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息G$lastmessage".__LINE__;

//DATA
$lastact="DATA\r\n";
fputs($fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 354) return "错误信息H$lastmessage".__LINE__;


//处理Subject头
$head="Subject: $subject\r\n";
$message = $head."\r\n".$message;

//处理From头
$head="From: $from\r\n";
$message = $head.$message;

//处理To头
$head="To: $to\r\n";
$message = $head.$message;
if($html==1)
{
$head = "Content-type:text/html\r\n";
$message =$head.$message;
}

//加上结束串
$message .= "\r\n.\r\n";

//发送信息
fputs($fp, $message);
$lastact="QUIT\r\n";

fputs($fp,$lastact);
fclose($fp);
return 0;
}

?>
zhiin1 2005-05-20
  • 打赏
  • 举报
回复
谁给个全面例子呢?

用 Socket + SMTP 类发送邮件不稳定的 而且速度太慢
keaizhong 2005-05-20
  • 打赏
  • 举报
回复
[mail function]
; For Win32 only.
SMTP = localhost ; for Win32 only
smtp_port = 25
sendmail_from= me@localhost.com ; for Win32 only

你装起来试一下就知道了,再把上面的改成相应的

我以前试过可以的。
不过我从来都没有在项目中正式用过这功能。
ray929 2005-05-20
  • 打赏
  • 举报
回复
在自己的电脑上装一个微型的SMTP服务器吧
guiwenxing123 2005-05-20
  • 打赏
  • 举报
回复
欢迎大家加入PHP+WML开发WAP:QQ群:8352641 大家共同进步!

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧