2013-10-23 58 views
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

谢谢!

+1

你不允许运行'/ usr/sbin目录/ sendmail'。如果您需要'IsSendmail()'而不是'IsMail()',请检查您允许使用的二进制文件的位置。如果两者都不起作用并且找不到二进制文件,请与您的包装箱的系统管理员联系。 – Wrikken

+0

您是否安装并配置了sendmail? – Gavin

+0

有时$ mail-> IsSendmail();可能会导致此错误。尝试评论一下,看看是否有任何事情发生。 – Billy

回答

0
<input class="submit" type="button" name="submit" 

应该是:

<input class="submit" type="submit" name="submit" 
+0

我试过了,它返回的错误是: – phuphupido