Ошибка конфигурации почты в хостинге amazon с использованием php? - PullRequest
0 голосов
/ 02 мая 2018

Я разработал свой веб-сайт и разместил его на своем экземпляре amazon ec2, и я купил свой домен в godaddy (www.mydomain.com). Теперь я хочу настроить почту на странице формы для контактов на веб-сайте. Ниже своего кода я не знаю, где я ошибаюсь код?

<?php 

       if(isset($_REQUEST['submit']))
    {

    try

    {

    $name    = $_POST['name'];

     echo "<script type='text/javascript'>alert('$name')
        </script>";

     $email   = $_POST['email'];
      echo "<script type='text/javascript'>alert('$email')
        </script>";


    $subject = $_POST['subject'];
     echo "<script type='text/javascript'>alert('$subject')
        </script>";
     $message = $_POST['message'];

      echo "<script type='text/javascript'>alert('$message')
        </script>";

     $response ="";
     $body = <<<EOD

    <div style='font-size:18px'>



    <b> Name </b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : $name  <br />

    <b> Email address </b> &nbsp;&nbsp;&nbsp;&nbsp;: $email  <br />


    <b>Message </b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : $message <br />

    </div>

    EOD;



     $to   = "XXXXX@gmail.com";


                require_once($_SERVER['DOCUMENT_ROOT'].'/samplemail/lib/class.phpmailer.php');
                require_once($_SERVER['DOCUMENT_ROOT'].'/samplemail/lib/class.smtp.php');
                $mail = new PHPMailer(true);
                //$mail->Host = "relay-hosting.secureserver.net"; // your SMTP Server
               // echo $res;

          $mail->IsSMTP();
    $mail->Host = "email-smtp.us-east-1.amazonaws.com";
    $mail->SMTPDebug=true;
    $mail->SMTPAuth = true; // Auth Type
    $mail->Port       = 25;
    $mail->IsSendmail(); 
    //$mail->SMTPSecure = "ssl";
    $mail->Username = "support@mydomain.com";
    $mail->Password = "******";
    $mail->Sender = "supportexample@mydomain.com";
    $mail->From = "supportexample@mydomain.com";
    $mail->AddReplyTo($email);
    $mail->FromName = "Example";
    $mail->AddAddress($to);
    //$mail->AddAddress("desired recipient no.2 optional");
    $mail->IsHTML(true);
    $mail->Subject = $subject;
    $mail->Body=$body;
    $mail->WordWrap = 50;
    $mail->Send();


    echo "<script type='text/javascript'>alert('Mail Send Successfully')
        </script>";



    }

    catch (phpmailerException $e) {
    echo "<script type='text/javascript'>alert('Failed')
        </script>";

        echo $e->errorMessage();

    }
    }

    ?>

выдает ошибку

Не удалось выполнить: / var / qmail / bin / sendmail

1 Ответ

0 голосов
/ 02 мая 2018

Попробуйте это. Это может быть полезным. Вы должны использовать другой адрес электронной почты от почты. Вместо использования

$mail->From = "support@mydomain.com"

Вы должны использовать другой адрес электронной почты здесь:

$mail->From = "supportexample@mydomain.com";

require_once('phpmailer/class.phpmailer.php');
require_once('phpmailer/class.smtp.php');                                                               

$mail = new PHPMailer; 
$mail->isSMTP();
$mail->Host = "email-smtp.us-east-1.amazonaws.com"; // SMTP HOST
$mail->SMTPAuth = true;
$mail->Username = "support@mydomain.com"; // SMTP username
$mail->Password = "********"; // SMTP password
$mail->SMTPSecure = "ssl"; // Enable TLS encryption, `ssl` also accepted
$mail->Port = "465"; // TCP port to connect to 587
$mail->From = "supportexample@mydomain.com";
$mail->FromName = "Domain Example";
$mail->addAddress("XXXX@gmail.com");
$mail->addReplyTo("supportexample@mydomain.com");
$mail->isHTML(true);
$mail->Subject = "Hello Test";
$mail->Body    = "Test Message Working With Us";
if($mail->send()){
    return true;
}
else{
    return $mail->ErrorInfo;    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...