1. 使用 mail() 函数
没什么好讲的,就是使用系统自带的smtp系统来发送,一般是使用sendmail来发。这个按照各个系统不同而定。使用参考手册。
2. 使用管道的形式
昨天刚测试成功,使用本地的qmail来发送邮件。
1 /* 使用qmail发送邮件函数 */ 2 function send_check_mail($email, $subject,$uid,$buffer) 3 { 4 $command = "/var/qmail/bin/qmail-inject ".$email; //qmail程式地址,$email是要发送的地址 5 $handle = popen($command, "w"); //打开管道 http://www.cnblogs.com/roucheng/ 6 if (!$handle) { 7 return false; 8 } 9 10 $from = "webmaster@unixsky.net"; //发件人 11 fwrite($handle, "From: ".$from."\n"); //往管道写数据 12 fwrite($handle, "Return-Path: ".$from."\n"); 13 fwrite($handle, "To: ".$uid."\n"); 14 fwrite($handle, "Subject: ".$subject."\n"); 15 fwrite($handle, "Mime-Version: 1.0\n"); 16 fwrite($handle, "Content-Type: text/html; charset=\"gb2312\"\n\n"); 17 fwrite($handle, $buffer."\n"); 18 pclose($handle); //关闭管道 19 20 return true; 21 } 22 23 ------------------测试发送邮件: 24 25 //发送邮件 26 27 $subject = "测试邮件"; 28 29 $uid = $_POST[’uid’]; //from信息 30 $content = "<html><body>".$u_email 31 32 ." 你好!<br><br>谢谢,本邮件测试!<br</body></html>"; //内容信息 33 34 $u_email = "heiyeluren@yahoo.com.cn"; //发送到的邮箱 35 if (send_check_mail($u_email, $subject, $uid, $content)) { 36 37 echo "恭喜!发送投票邮件到你的邮箱!<br><br>请检查你的邮箱:<font color=#CC0033>".$u_email." </font><br><br>". $close; 38 } else { 39 40 echo "非常不幸,发送投票邮件到你的邮箱失败,请重试或联系研发人员。<br><br>". $close; 41 42 }