Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我尝试在cloudways上测试电子邮件时,phpmailer给出HTTP错误500_Php_Forms_Email_Phpmailer_Cloudways - Fatal编程技术网

当我尝试在cloudways上测试电子邮件时,phpmailer给出HTTP错误500

当我尝试在cloudways上测试电子邮件时,phpmailer给出HTTP错误500,php,forms,email,phpmailer,cloudways,Php,Forms,Email,Phpmailer,Cloudways,我是网络开发的新手。我编写了一个php代码从表单发送电子邮件,并在cloudways中托管了它。每当我点击submit按钮时,就会出现HTTP错误500 <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { # code... $name = trim($_POST["fullname"]); $email = trim($_POST["email"]); $phone_no = tri

我是网络开发的新手。我编写了一个php代码从表单发送电子邮件,并在cloudways中托管了它。每当我点击submit按钮时,就会出现HTTP错误500

    <?php

  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    # code...
      $name = trim($_POST["fullname"]);
      $email = trim($_POST["email"]);
      $phone_no = trim($_POST["phone_num"]);
      $partner_type = $_POST["Partner_type"];

     if ($name == "" || $email == "" || $phone_no == " ") {
        echo "please fill the required fields name , email , phone number";
      }

      if ($_POST["adds"] != "") {
        echo "Bad form input";
        exit;
      }

      require 'class.phpmailer.php';

      $mail = new PHPMailer();

      if (!$mail->ValidateAddress($email)) {
        # code...
        echo "Invalid Email Address";
        exit;
      }


      $email_body = "";
      $email_body .= "Name " . $name . "\n";
      $email_body .= "Email " . $email . "\n";
      $email_body  .= "Phone Number " . $phone_no . "\n";
      $email_body .= "Partner Type " . $partner_type . "\n";


      $mail->setFrom($email, $name);
      $mail->addAddress('rescuetl@localhost', 'gbubemi');     // Add a recipient

    /**$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
      $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
      **/

      $mail->isHTML(false);                                  // Set email format to HTML

      $mail->Subject = 'Become a Partner ' . $name ;
      $mail->Body    = $email_body;
      $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

      if(!$mail->send()) {
          echo 'Message could not be sent.';
          echo 'Mailer Error: ' . $mail->ErrorInfo;
          exit;
      } else {
          echo 'Message has been sent';
      }

    header("location:index.php?status=thanks");
}

 ?>


求你了,我真的很沮丧,我需要帮助。谢谢。

您应该使用软件包中的函数PHPMailerAutoload。。它很简单,工作非常好。我自己在一个项目中使用它。而且,它很容易被同化

function sendMail($destinaire, $code, $prename){

require 'phpmailer/PHPMailerAutoload.php';

$userMail = $destinataire;  //Recipient
$mail = new PHPMailer();
$mail->Host = "smtp.gmail.com";
$mail->isSMTP();
$success_send = " Le code de reservation a éte envoyé à ".$userMail;
$failed_send = "Echec: le mail in not send verifier votre email";
//On ouvre l'authentification
$mail->SMTPAuth = true;

//Les creditentials
$mail->Username = "Sender@gmail.com";
$mail->Password = "Senderpass"; 
//set the type of protection
$mail->SMTPSecure ="ssl"; //tls
//Definissons un port
$mail->Port ="465"; //587 pour tls
//L'objet du message
$mail->Subject ="Reservation enregistré";
//Le message en lui meme, afin le contenu quoi
$mail->Body ="Bonjour '.$prename.' Nous avons enregistré votre reservation. 
Veuillez presenter le Code suivant le jour du voyage ".$code;

//Bref, qui envoi?
$mail->setFrom('sender@gmail.com', 'Indiza - Travel Dimension');
//set where we are sending this email(à qui)
$mail->addAddress($userMail);
//Envoyer l'email

if($mail->send())
    return $success_send;
else
    return $failed_send;        
}
实用程序

要启动(如果你使用Gmail),你应该降低发送邮件的帐户的安全级别

如果有必要,这个链接将非常有用

只需调用这样的函数

$idz = sendMail("$receiverMail","anyCode","receiverName"); 
它真的是计算机吗?没有绅士,我们做手工艺。


这是信息资源吗?非mon ami,在fait juste du bricolage上。

首先,您需要调试应用程序,判断电子邮件是否正在发送,或者可能被卡在队列中。您可以通过在终端上运行“mailq”来检查它。接下来,首先尝试在Cloudways上发送简单的电子邮件,如下所示:

<?php 
require_once "vendor/autoload.php"; //PHPMailer Object 
$mail = new PHPMailer; //From email address and name 
$mail->From = "from@yourdomain.com"; 
$mail->FromName = "Full Name"; //To address and name 
$mail->addAddress("recepient1@example.com", "Recepient Name");//Recipient name is optional
$mail->addAddress("recepient1@example.com"); //Address to which recipient will reply 
$mail->addReplyTo("reply@yourdomain.com", "Reply"); //CC and BCC 
$mail->addCC("cc@example.com"); 
$mail->addBCC("bcc@example.com"); //Send HTML or Plain Text email 
$mail->isHTML(true); 
$mail->Subject = "Subject Text"; 
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content"; 
if(!$mail->send()) 
{
echo "Mailer Error: " . $mail->ErrorInfo; 
} 
else { echo "Message has been sent successfully"; 
}
if(!$mail->send()) 
{ 
echo "Mailer Error: " . $mail->ErrorInfo; 
} 
else 
{ 
echo "Message has been sent successfully"; 
}

您还可以在Cloudways平台的服务器设置中设置Smtp:


阅读本文全文:

检查PHP错误日志……请登录-您的代码不好。@gbubemismith很高兴它能为您工作。将其标记为正确答案plz:)
<?php
require_once "vendor/autoload.php";

$mail = new PHPMailer;

//Enable SMTP debugging.

$mail->SMTPDebug = 3;                           

//Set PHPMailer to use SMTP.

$mail->isSMTP();        

//Set SMTP host name                      

$mail->Host = "smtp.gmail.com";

//Set this to true if SMTP host requires authentication to send email

$mail->SMTPAuth = true;                      

//Provide username and password

$mail->Username = "name@gmail.com";             

$mail->Password = "super_secret_password";                       

//If SMTP requires TLS encryption then set it

$mail->SMTPSecure = "tls";                       

//Set TCP port to connect to

$mail->Port = 587;                    

$mail->From = "name@gmail.com";

$mail->FromName = "Full Name";

$mail->addAddress("name@example.com", "Recepient Name");

$mail->isHTML(true);

$mail->Subject = "Subject Text";

$mail->Body = "<i>Mail body in HTML</i>";

$mail->AltBody = "This is the plain text version of the email content";

if(!$mail->send())

{

echo "Mailer Error: " . $mail->ErrorInfo;

}

else

{

echo "Message has been sent successfully";

}
?>