php邮件功能仅在本地服务器上工作,而不在远程服务器上工作

时间:2010-12-13 03:17:29

标签: remote-server php localserver

正如标题我在HTML中创建了一个简单的表单

你可以在http://thee-l.comuv.com/send.php看到它发送一封电子邮件给我,指定了主题和正文文本我在Apache的localhost上运行它,我在不到一分钟的时间内进入我的收件箱但是我把它上传到远程服务器的网站,它根本没有给我发电子邮件

我有一个gmail地址,所以为了方便我使用smtp2go创建了一个外向的smtp服务器这是我的第一个php发送的电子邮件,我真的很开心,立即把它放在远程服务器上,我们在这里

我正在使用000webhost

这是我的代码

<?php
if ($_POST['submit']){
ini_set("SMTP", "smtp2go.com");
ini_set("smtp_port", 2525);
$to = "lsworkemail112@gmail.com";
$subj = $_POST['topic'];
$body = $_POST['message'];
$header = "From: lsworkemail112@gmail.com";
if (mail($to, $subj, $body, $header))
{
echo "Message sent successfully";
}
else
{
echo "Message sent unsuccessfully";
}
}
else
{
echo "<html>
<form method=\"post\" action=\"send.php\">
Topic: <br/><input type=\"text\" name=\"topic\"/><br/>
Message: <br/><textarea name=\"message\"></textarea><br/>
<input type=\"submit\" value=\"Send\" name=\"submit\"/>
</form>
</html>";
}

?>

2 个答案:

答案 0 :(得分:1)

我尝试点击您的链接,但显然您的网站正在接受审核(可能因为您的测试而导致邮件过多/怀疑发送垃圾邮件?)。即使这样,链接到.php页面也不会向我们显示代码,因为服务器将执行它并仅将结果发送到浏览器。如果您将代码复制/粘贴到问题中,则会更好。

另外,正如@Computerish所说,你可能刚刚遇到主机限制。您今天有多少次运行mail()代码?

答案 1 :(得分:0)

检查您的网络托管公司有关外发邮件的政策。可能有每日限制,完全禁止它,或者它可能是您需要的额外服务。几乎所有托管公司都采取措施限制send()函数的使用,以防止垃圾邮件发送者利用他们的服务器。