麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
PHP邮件发送问题,非常感谢热心的你帮助我!
悬赏分:20 - 2007年08月22日

我这里有个电子商务程序,之前放在新网的虚拟主机上(unix的),注册的时候可以正常的收到通知信,现在我放置在我自己的服务器上(IIS),已经正确的架设了smtp,并且确保可用,但程序却不能自动的发送邮件,检查smtp纪录似乎程序对他没有动作,我不了解是怎么回事,希望大家帮忙! ============================================== 在程序的后台,有两个发送邮件方式的选择,分别是Print_mail和Send_mail 下面我引用一下程序的部分代码,应该能够说明问题的: 在发送邮件的php文件里面的“include "func.php";” 其func.php里面和发送邮件相关的代码如下: ------------------------------------------------------------------------------ function basic_sendmail($to_email,$from_email,$form_name,$subject,$morningbody,$type) { $header .= "From: $form_name <$from_email>\n"; //$header .= "X-Sender: <$from_email>\n"; //$header .= "X-Mailer: PHP ".htmlversion()."\n"; $header .= "X-Priority: 1\n"; //$header .= "Return-Path: <$from_email>\n"; $header .= "Content-Type: text/$type;"; $header .= "charset=GB2312\n"; $morningbody = stripslashes($morningbody); //echo "$to_email

$subject

$morningbody

$header"; //exit; @mail($to_email,$subject,$morningbody,$header); } function nmail($to_email, $from_email, $from_name, $subject, $morningbody, $type) { $header = "From: $from_name <$from_email>\n"; //$header .= "X-Sender: <$from_email>\n"; //$header .= "X-Mailer: PHP ".htmlversion()."\n"; $header .= "X-Priority: 1\n"; //$header .= "Return-Path: <$from_email>\n"; $header .= "Content-Type: text/$type; charset=GB2312\n"; $header .= "\n\n"; $morningbody = stripslashes($morningbody); @$fp = popen('/usr/sbin/sendmail -t -f '.$from_email.' '.$to_email,"w"); if(!$fp) return 0; fputs($fp,"From:".$from_name."<".$from_email.">"."\n"); //fputs($fp, "To: $to_email\n"); fputs($fp, "Subject: ".$subject."\n"); fputs($fp, $header."\n"); fputs($fp, $morningbody); fputs($fp, "\n\n\n"); pclose($fp); return 1; } ------------------------------------------------------------------------------------ 在发送邮件有关的php文件内,是这样调用的(发送的是一些表单提交的变量): if($ps_mode == "send_mail" and $mailer_receive_email and $mailer_subject and $mailer_body) { if($mailer_html != "1") { $mailer_body = make_br($mailer_body); } if(is_dir("$g_mall_skin_dir/$cf_skin_name")) { include "$g_mall_skin_dir/$cf_skin_name/mall_mail_skin.html"; } else { include "$g_mall_skin_dir/default/mall_mail_skin.html"; } $mail_subject = $mailer_subject; $mail_content = $g_mail_header.$g_mail_form.$g_mail_bottom ; if($cf_mail_method == "1") { basic_sendmail($mailer_receive_email,$mailer_send_email,$mailer_send_name,$mail_subject,$mail_content,html); } elseif($cf_mail_method == "2") { nmail($mailer_receive_email,$mailer_send_email,$mailer_send_name,$mail_subject,$mail_content,html); } else { basic_sendmail($mailer_receive_email,$mailer_send_email,$mailer_send_name,$mail_subject,$mail_content,html); } error_msg("$lang_mall_send_mailer","close"); exit; } error_msg("$lang_mall_avess","close"); exit; =================================== 今天在搜索引擎看了一天,似乎知道php的邮件发送要配合apache服务器工作,在IIS下面要通过其他方法实现,我尝试了一些类的调用,通过localhost的smtp发送,但是没有能够成功,似乎程序对smtp没有任何动作,请问我要如何修改程序让它正常工作呢?希望有经验的前辈指教,小弟在此谢过!

提问者:awingstar   08-22 08:08
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
27 + 81 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM