求PHP接收表单内容并发送邮件的代码

本人刚学会HTML和CSS,做了个简单的网站,尚不会ASP、PHP等;但租用的空间是支持PHP的。我做的网页上有表单,希望能将表单内容直接发送到我的邮箱;注:不要启动Outlook等的。

我的表单代码大致如下:
<form method="post" action="">
<textarea name="contact_message" rows="10"></textarea>
<input type="submit" value="发送信息" />
</form>
或有其他简单的方法,使我能得到用户提交的信息就可以了。
我用了mail()函数,返回true,但我却收不到信,怎么办才好?

第1个回答  2010-09-04
需要Jmail组件支持
<?
class Jmail
{

public $Username; //邮局用户名

public $Password; //密码

public $FormName ; //发件人姓名

public $From ; //发件人地址

public $Addrecipient ; //收件人地址

public $Ttile ; //邮件标题

public $Content; //邮件内容

public $Smtp; //邮件服务器

function Send(){

$Jmail = new com("Jmail.Message"); //实例化一个Jmail对象

$Jmail->SiLent=true; //设置成True的话Jmail不会提示错误只会返回True和False

$Jmail->LogGing = false; //是否开启日志

$Jmail->CharSet = "GB2312"; //设定字符串编码

$Jmail->ContentType = "Text/html"; //邮件的格式为HTML格式

$Jmail->MailServerUsername = $this->Username; //发信箱用户名

$Jmail->MailServerPassword = $this->Password; //发信箱密码

$Jmail->FromName = $this->FromName; //发件人姓名

$Jmail->From = $this->From; //发件人地址

$Jmail->AddRecipient($this->Addrecipient); //收件人地址

$Jmail->Subject = $this->Title;//Email标题

$Jmail->Body = $this->Content; //Email正文

$JmailError = $Jmail->Send($this->Smtp); //Smtp服务器

if($JmailError){ //判断邮件是否发送成功
return true;
}else{
return false;
}

}

}

//这里是调用代码
$jmail = new Jmail();
$jmail->Username = "lwf0757";
$jmail->Password = "0757";
$jmail->FromName = "梁";
$jmail->From = "[email protected]";
$jmail->Addrecipient = "[email protected]";
$jmail->Title = "这是标题";
$jmail->Content = $_POST["contact_message"]; //"这是内容";
$jmail->Smtp = "smtp.163.com";
if($jmail->Send()){
echo "成功哦!";
}else{
echo "失败哦!";
}
?>
第2个回答  2010-09-03
首先你得会PHP
1 先将表单内容提交给一个PHP文件用$_POST['uname'] 得到这些表单里面的内容
2.然后用PHP写一个发送邮件的方法网上有很多自己找吧
3,这个方法 写好后再把内容发到邮件里就OK了。
第3个回答  2010-09-12
mail函数有要求的

如果是WIN平台,需要提供不带身份验证的SMTP的服务器地址

如果是LINUX/UNIX平台,需要SENDMAIL程序支持,并定义程序路径!

你网上搜索下,有SMTP MAIL的类库么?
ZEND FRAMEWORK或CODEIGNITER也提供的...
支持SOCKET连接SMTP的方式发送邮件!本回答被提问者采纳
第4个回答  2010-09-12
本方法未使用Jmail组件!

<?php
$contact_message=$GET['contact_message']

$to = "邮箱地址";

$manager = "ChiNvo.org";
$date = date("Y年m月d日");

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; //程序是utf8就不用改,是gbk就把utf-8改成gbkrn
$headers .= "To: $to \r\n";
$headers .= "Cc: 抄送地址(可删去此行) \r\n";
$headers .= 'From: 发信人(可以随便填)' . "\r\n";

$subject = "主题";
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";//程序是utf8就不用改,是gbk就把utf-8改成gbkrn

$content = ' '."$manager".'您好!'.'<br />';
$content .= '<br />';
$content .= ' '."$contact_message".'<br />';
$content .= '<br />';
$content .= "$date".'<br />';

$result = mail($to, $subject, $content, $headers);

if($result)
{
echo '邮件发送成功!';
}

?>
第5个回答  2010-09-04
不好教你,不会php怎么说。

$_POST获取表单内容,mail()函数发送邮件(需空间支持)