不使用PHP表单发送电子邮件
我有一个我以前用过的表单,它只是一个常规表单。您填写表单并点击提交,它将返回一个感谢页面。所以它从form.html到mailPage.php,然后是Thankyou.html。我已经用过两次同样的表格了,它通常工作正常,但由于某种原因,在这个新网站上它没有发送电子邮件。我知道邮件页面会被呼叫,因为它会将您发送到“谢谢”页面,但不会发送任何电子邮件。你知道是什么原因造成的吗。这是我的密码:不使用PHP表单发送电子邮件,php,html,email,forms,Php,Html,Email,Forms,我有一个我以前用过的表单,它只是一个常规表单。您填写表单并点击提交,它将返回一个感谢页面。所以它从form.html到mailPage.php,然后是Thankyou.html。我已经用过两次同样的表格了,它通常工作正常,但由于某种原因,在这个新网站上它没有发送电子邮件。我知道邮件页面会被呼叫,因为它会将您发送到“谢谢”页面,但不会发送任何电子邮件。你知道是什么原因造成的吗。这是我的密码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>
<?php
$email = $_REQUEST['eMail'] ;
$comments = $_REQUEST['comments'] ;
$year = $_REQUEST['year'] ;
$make = $_REQUEST['make'] ;
$model= $_REQUEST['model'] ;
$zip = $_REQUEST['zip'] ;
$state = $_REQUEST['State'] ;
$city = $_REQUEST['City'] ;
$address = $_REQUEST['Address'] ;
$callTime = $_REQUEST['callTime'] ;
$workNumber= $_REQUEST['workNumber'] ;
$foundby = $_REQUEST['foundby'] ;
$fullName = $_REQUEST['fullName'] ;
$homeNumber = $_REQUEST['homeNumber'] ;
mail( "XXXX@XXXXXXXXXXX", "Estimate Request",
"From:\t$fullName\nEmail:\t$email\nHome Phone:\t$homeNumber\nWork Phone:\t$workNumber\nBest time to call:\t$callTime\nAddress:\n\t$address\n\t$city, $state $zip\nMake: $make\tModel:$model\tYear:$year\nFound us by:\t$foundby\n\nComments:\n$comments");
header( "Location: thankyou.html" );
?>
</body>
</html>
无标题1
我唯一想到的是服务器上没有php邮件定义。。。像exim4之类。我唯一想到的是服务器上没有php邮件定义。。。像exim4之类的。您的跑步环境是什么?它有邮件服务器吗 请提供一些有关这方面的信息
所以我可以给你一个正确的答案 像xampp这样的本地程序通常没有
邮件服务器已预装。您的运行环境是什么?
它有邮件服务器吗 请提供一些有关这方面的信息
所以我可以给你一个正确的答案 像xampp这样的本地程序通常没有
邮件服务器已预装。我一直使用PHP中添加的PEAR来发送邮件,因为我对它的操作有更多的控制权。它需要有以下两个包括:
require "Mail.php";
require "Mail/mime.php";
我通常在这两条注释之后从我的表单进行所有处理,然后使用以下代码集将其组合在一起:
$server = "mail.myserver.com";
$username = "myusername@myserver.com";
$password = "thisIsAPassword";
$port = "587";
// Set Up The Mail Headers
$hdrsUs = array(
"From" => $sender,
"To" => $receiverUs,
"Subject" => $subjectUs,
"Return-Path" => $sender
);
// Configure the Mailer Mechanism
$smtp = Mail::factory("smtp",
array(
"host" => $server,
"username" => $username,
"password" => $password,
"auth" => true,
"port" => $port
)
);
$textUs =
"This is a text version of the e-mail.";
$htmlUs =
"<html>
<body>
<center>
<b>This is the HTML version of the e-mail.</b>
</center>
</body>
</html>";
$mimeUs = new Mail_mime($crlf);
$mimeUs->setTXTBody($textUs);
$mimeUs->setHTMLBody($htmlUs);
// Do not EVER Try to Call These Lines in Reverse Order
$bodyUs = $mimeUs->get();
$hdrsUs = $mimeUs->headers($hdrsUs, true);
// Send the Message
$mailUs = $smtp->send($receiverUs, $hdrsUs, $bodyUs);
if (PEAR::isError($mailUs))
{
echo ($mailThem->getMessage());
}
else
{
echo " <br /><center><b>The Mail Has Sent.</b></center>\n";
}
$server=“mail.myserver.com”;
$username=”myusername@myserver.com";
$password=“thissisapassword”;
$port=“587”;
//设置邮件标题
$hdrsUs=阵列(
“发件人”=>$sender,
“致”=>$receiverUs,
“主题”=>$subjectUs,
“返回路径”=>$sender
);
//配置邮件发送机制
$smtp=Mail::factory(“smtp”,
排列(
“主机”=>$server,
“用户名”=>$username,
“密码”=>$password,
“auth”=>正确,
“端口”=>$port
)
);
$textUs=
“这是电子邮件的文本版本。”;
$htmlUs=
"
这是电子邮件的HTML版本。
";
$mimeUs=新邮件的mime($crlf);
$mimeUs->setTXTBody($textUs);
$mimeUs->setHTMLBody($htmlUs);
//永远不要试图以相反的顺序调用这些行
$bodyUs=$mimeUs->get();
$hdrsUs=$mimeUs->headers($hdrsUs,true);
//发送消息
$mailUs=$smtp->send($receiverUs、$hdrsUs、$bodyUs);
如果(PEAR::isError($mailUs))
{
echo($mailtems->getMessage());
}
其他的
{
echo“
邮件已发送。\n”;
}
我一直使用PHP中添加的PEAR来发送我的邮件,因为我可以更好地控制它的工作。它需要有以下两个包括:
require "Mail.php";
require "Mail/mime.php";
我通常在这两条注释之后从我的表单进行所有处理,然后使用以下代码集将其组合在一起:
$server = "mail.myserver.com";
$username = "myusername@myserver.com";
$password = "thisIsAPassword";
$port = "587";
// Set Up The Mail Headers
$hdrsUs = array(
"From" => $sender,
"To" => $receiverUs,
"Subject" => $subjectUs,
"Return-Path" => $sender
);
// Configure the Mailer Mechanism
$smtp = Mail::factory("smtp",
array(
"host" => $server,
"username" => $username,
"password" => $password,
"auth" => true,
"port" => $port
)
);
$textUs =
"This is a text version of the e-mail.";
$htmlUs =
"<html>
<body>
<center>
<b>This is the HTML version of the e-mail.</b>
</center>
</body>
</html>";
$mimeUs = new Mail_mime($crlf);
$mimeUs->setTXTBody($textUs);
$mimeUs->setHTMLBody($htmlUs);
// Do not EVER Try to Call These Lines in Reverse Order
$bodyUs = $mimeUs->get();
$hdrsUs = $mimeUs->headers($hdrsUs, true);
// Send the Message
$mailUs = $smtp->send($receiverUs, $hdrsUs, $bodyUs);
if (PEAR::isError($mailUs))
{
echo ($mailThem->getMessage());
}
else
{
echo " <br /><center><b>The Mail Has Sent.</b></center>\n";
}
$server=“mail.myserver.com”;
$username=”myusername@myserver.com";
$password=“thissisapassword”;
$port=“587”;
//设置邮件标题
$hdrsUs=阵列(
“发件人”=>$sender,
“致”=>$receiverUs,
“主题”=>$subjectUs,
“返回路径”=>$sender
);
//配置邮件发送机制
$smtp=Mail::factory(“smtp”,
排列(
“主机”=>$server,
“用户名”=>$username,
“密码”=>$password,
“auth”=>正确,
“端口”=>$port
)
);
$textUs=
“这是电子邮件的文本版本。”;
$htmlUs=
"
这是电子邮件的HTML版本。
";
$mimeUs=新邮件的mime($crlf);
$mimeUs->setTXTBody($textUs);
$mimeUs->setHTMLBody($htmlUs);
//永远不要试图以相反的顺序调用这些行
$bodyUs=$mimeUs->get();
$hdrsUs=$mimeUs->headers($hdrsUs,true);
//发送消息
$mailUs=$smtp->send($receiverUs、$hdrsUs、$bodyUs);
如果(PEAR::isError($mailUs))
{
echo($mailtems->getMessage());
}
其他的
{
echo“
邮件已发送。\n”;
}
最常见的问题是电子邮件的输入名称不同。请你做一下好吗-
echo $email; die("");
如果您能看到正确显示的电子邮件,它将与服务器上的SMTP设置有关 最常见的问题是电子邮件的输入名称不同。请你做一下好吗-
echo $email; die("");
如果您能看到正确显示的电子邮件,它将与服务器上的SMTP设置有关 我正在1和1.com上运行它。我没想到会是他们,但我现在看到了他们的支持,我正在1和1.com上运行它。我没想到会是他们,但我现在看到了他们的支持。它确实支持邮件定义。我查看了他们的FAQ,他们给出的使用php邮件的示例与我的做法相同,它确实支持邮件定义。我查看了他们的FAQ,他们给出的使用php邮件的示例与我的做法相同。