2012-04-20 141 views
0

我环顾过这个网站的答案,我得出结论,我使用的PHP给我发送电子邮件,如果有人订阅我的网站不起作用因为我在godaddy服务器上。问题是我收不到电子邮件,我不知道如何解决它。如果任何人可以提供任何建议,我将不胜感激!在godaddy服务器上的php邮件功能不工作

下面的代码:

if (isset($_POST["action"])) { 
$action = $_POST["action"]; 

switch ($action) { 
    case "Subscribe": { 
      if (isset($_POST["email"]) && !empty($_POST["email"])) { 
       $subscriberEmail = $_POST["email"]; 
       include_once (dirname(dirname(__FILE__)).'/php/classes/class__mail.php'); 

       $messageText = 'You have new subscriber for your site.<br /><br />This is the subscribed email address<br />====================================<br />' . $subscriberEmail; 

       $response = (SendEmail($messageText, $subscribe_notification_subject, $subscribe_email, $email)) ? "Message Sent" : "Sending Message Failed"; 
      } else { 
       $response = "Sending Message Failed"; 
      } 
     } 
     break; 
    case "SendMessage": { 
      if (isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["subject"]) && isset($_POST["message"]) 
        && !empty($_POST["name"]) && !empty($_POST["email"]) && !empty($_POST["subject"]) && !empty($_POST["message"])) { 
       include("classes/class__mail.php"); 

       $response = (SendEmail($_POST["message"], $_POST["subject"]." - Sender Name: ".$_POST["name"], $_POST["email"], $email)) ? "Message Sent" : "Sending Message Failed"; 
      } else { 
       $response = "Sending Message Failed"; 
      } 
     } 
     break; 
    default: { 
      $response = "Invalid action is set! Action is: " . $action; 
     } 
} 

}

+0

你需要解释当你发送它时会发生什么。你会得到什么错误?你甚至有错误,或者你只是没有收到邮件? – Jack 2012-04-20 03:40:31

+0

对不起。没有任何反应,我收不到电子邮件。 – Sharkbites 2012-04-20 04:11:02

回答

0

我认为SendEmail()是你自己的方法,它可以通过SMTP发送电子邮件。因为godaddy只支持认证的smtp。如果是这种情况,我想你可能需要仔细检查你的SMTP主机名,端口,用户名和密码。

1

哇,你是否意识到,用你的功能,我可以发送一封电子邮件给任何我想要的人,假装是你?

我stronly建议你不要使用上面的代码发送电子邮件到你的用户,而是利用已建立的服务,如为mailchimp通讯,sendgrid,为交易电子邮件,或mailjet这确实两者。

它们为您提供易于使用的PHP库来发送电子邮件,它们将帮助您确保我(或任何其他人)无法从您的联系表单发送垃圾邮件。

+0

我不知道,但谢谢。您是否推荐仅用于接收用户电子邮件地址的邮件服务?我有一个邀请事情成立。 – Sharkbites 2012-04-20 19:41:38

+0

是使用我在答案中提到的那些之一。 sendgrid和mailjet都允许你使用他们的smtp服务器发送邮件 – jfoucher 2012-04-22 05:48:35

相关问题