0
我遇到了无法通过注册按钮的问题。PHP表单邮件错误
下面是来自主页的代码(其中注册按钮):当你点击注册按钮输入电子邮件地址的格式无效后
<div class="signup">
<form action="sendmail.php" method="post" name="frm-signup" id="frm-signup">
<div id="item-form">
<input class="email" type="text" value="Your e-mail address" onclick="value=''" size="20px" name="email" id="jf_email"/>
<input class="submit" type="button" name="submit" value="Sign up" size="95px" id="jf_submit"/>
</div>
<div style="position: relative;">
<div id="jf_error_email" style="display:none;">
<p class="hs_infor">
This isn't a valid email address
</p>
</div>
</div>
</form>
<p style="display: none;" id="thank_you">Thank you. We'll update you as soon as possible.</p>
</div>
基本上什么意思发生的是,下面会出现一条消息(谢谢,我们会更新你等)。此刻该按钮根本不起作用。它不会将电子邮件发回到他们的电子邮件中,而不会显示感谢信息。
下面是该sendmail.php PHP代码:
<?php
$from = "[email protected]";
if (isset($_REQUEST['email']) && $_REQUEST['email'] != '')
{
$email = $_REQUEST['email'];
sendMailSingup($from, $email);
sendMailSingup($from, "[email protected]");
}
function sendMailSingup($from, $to)
{
include_once('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$body = "Thank you. We'll update you as soon as possible.";
$mail->IsSendmail(); // telling the class to use SendMail transport
$mail->From = "$from";
$mail->FromName = "Frieda and Michael";
$mail->Subject = "Thank you!";
$mail->AltBody = "Thank you!"; // optional, comment out and test
$mail->MsgHTML($body);
$mail->AddAddress("$to", "");
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
#echo "Message sent!";
echo 1;
}
}
在当你的电子邮件地址输入的那一刻,他们返回的错误:
梅勒错误:无法执行:在/ usr/sbin/sendmailMailer错误:无法执行:/ usr/sbin/sendmail
谢谢!
你不允许运行'/ usr/sbin目录/ sendmail'。如果您需要'IsSendmail()'而不是'IsMail()',请检查您允许使用的二进制文件的位置。如果两者都不起作用并且找不到二进制文件,请与您的包装箱的系统管理员联系。 – Wrikken
您是否安装并配置了sendmail? – Gavin
有时$ mail-> IsSendmail();可能会导致此错误。尝试评论一下,看看是否有任何事情发生。 – Billy