Jerad
Jerad

Reputation: 211

How to send the email in PHP using Amazon SES

I installed the SES server into my amazon ec2 server and I verified the emails and SMTP. I want to send the email through my contact form so I got the PHP code form amazon I installed the PHPMailer inside the var/www/html folder and I call the PHPMailer class different PHP file. I called the different files inside the validate folder. I can't understand where I'm missing the code details Images I attached down Please check and let me know where I made the mistake and Help me to fix these issues.

<?php
      //Import the PHPMailer class into the global namespace
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    //SMTP needs accurate times, and the PHP time zone MUST be set
    //This should be done in your php.ini, but this is how to do it if you don't have access to that
    date_default_timezone_set('Etc/UTC');
    require '../vendor/autoload.php';
    //Create a new PHPMailer instance
    $mail = new PHPMailer;
    //Tell PHPMailer to use SMTP
    $mail->isSMTP();
    //Enable SMTP debugging
    // SMTP::DEBUG_OFF = off (for production use)
    // SMTP::DEBUG_CLIENT = client messages
    // SMTP::DEBUG_SERVER = client and server messages
    $mail->SMTPDebug = SMTP::DEBUG_SERVER;
    //Set the hostname of the mail server
    $mail->Host = 'email-smtp.us-east-1.amazonaws.com';
    //Set the SMTP port number - likely to be 25, 465 or 587
    $mail->Port = 25;
    //Whether to use SMTP authentication
    $mail->SMTPAuth = true;
    //Username to use for SMTP authentication
    $mail->Username = 'AKIA4I2MVSMJS34XXXX';
    //Password to use for SMTP authentication
    $mail->Password = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    //Set who the message is to be sent from
    $mail->setFrom('[email protected]', 'Jerad');
    //Set an alternative reply-to address
    $mail->addReplyTo('[email protected]', 'Arul');
    //Set who the message is to be sent to
    $mail->addAddress('[email protected]', 'John Doe');
    //Set the subject line
    $mail->Subject = 'PHPMailer SMTP test';
    //Read an HTML message body from an external file, convert referenced images to embedded,
    //convert HTML into a basic plain-text alternative body
    //$mail->msgHTML(file_get_contents('contents.html'), __DIR__);
    $mail->Body= 'testing Success';
    //Replace the plain text body with one created manually
    $mail->AltBody = 'This is a plain-text message body';
    //Attach an image file
    //$mail->addAttachment('images/phpmailer_mini.png');
    //send the message, check for errors
    if (!$mail->send()) {
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'Message sent!';
    }
    ?>

After click send button I'm getting this message

enter image description here

Upvotes: 0

Views: 2994

Answers (2)

Jerad
Jerad

Reputation: 211

I did like this now email is coming but it's going to spam

<?php
    //Import the PHPMailer class into the global namespace
                    require '../vendor/autoload.php';
            //Create a new PHPMailer instance
                    $mail = new PHPMailer;
            //Set who the message is to be sent from
                    $mail->setFrom($email, $name);
            //Set an alternative reply-to address

            //Set who the message is to be sent to
                    $mail->addAddress($toAdd, 'TixRez');

            //Set the subject line
                    $mail->Subject = 'TixRez Client Registertion';
            //Read an HTML message body from an external file, convert referenced images to embedded,
            //convert HTML into a basic plain-text alternative body
            //$mail->msgHTML(file_get_contents('contents.html'), __DIR__);
                    $mail->Body = 'Full Name - '.$name. '<br><br> Phone Number - '.$phone. '<br><br> Email - '.$email. '<br><br> Company - '.$company. '<br><br> Address - '.$address. '<br><br> City - '.$city. '<br><br> Zip Code - '.$zipCode. '<br><br> Country - '.$country_name. '<br><br> Web Address - '.$webAddress. '<br><br> Company Size - '.$comSize;
            //Replace the plain text body with one created manually
                    $mail->AltBody = $message;
            //Attach an image file
            //$mail->addAttachment('images/phpmailer_mini.png');
            //send the message, check for errors
                    if (!$mail->send()) {
                        echo 'Mailer Error: '. $mail->ErrorInfo;
                    } else {
                        echo 'Message sent!';
                    }

    ?>

Upvotes: 0

thewoodcutter
thewoodcutter

Reputation: 142

You are confusing the PHPMailer with PHP PEAR Mailing Class. You are currently trying to use both.

Try using the PHPMailer SMTP tutorial to send the mail instead of the PEAR class.

Upvotes: 2

Related Questions