Aptivus
Aptivus

Reputation: 433

phpmailer on windows IIS

I am trying to configure PHPMailer in order to have it working ona Windows IIS server using php scripts.

The application I have is written in PHP so we expected we could easily use PHPMailer to send emails.

Well, that doesn't work.

We have tried configuring it as SMTP, but we still get error in configuration.

Here it is our script:

date_default_timezone_set('Etc/UTC');
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 1;
//$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "gmailPWD";
$mail->setFrom('[email protected]', 'The Website');

$mail->addAddress($to, '');     
$mail->Subject = $subject;
$mail->msgHTML($message);


if (!$mail->send()) {
    $errors =  "Errori Mailer: " . $mail->ErrorInfo;
} else {
    $errors =  "<h5>Sent!</h5>";
}

Any clue? How can that be used on windows server?

Thank you

EDIT

So, it was a problem of Gmail and its security settings. I followed this post: https://stackoverflow.com/a/25175234/1873501 and everything went smooth!

I just wanted to share it.

Upvotes: 1

Views: 9539

Answers (2)

Niclausel
Niclausel

Reputation: 139

function sendMail($request) {
    require 'PHPMailerAutoload.php';

    $mail = new PHPMailer;

    $mail->SMTPDebug = 4;

    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = '[email protected];
    $mail->Password = 'yourgamilPass';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    $mail->setFrom('[email protected]', 'Title');
    $mail->addAddress([email protected]);   
    $mail->addReplyTo('[email protected]');

    $mail->isHTML(true);                               

    $mail->Subject = '$the subject of the e-mail';

    $mail->Body = 'The body of the email';

    $mail->AltBody = 'Alternative'; // this is mostly sent to your own mail

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

Upvotes: 0

Kyle Burkett
Kyle Burkett

Reputation: 1443

You've downloaded and extracted the class I am assuming. Maybe you're not autoloading? Make sure you include:

require '/path/to/PHPMailerAutoload.php';

It should be fine on IIS/Windows Server. See some of the examples here in the documentation (and in the examples folder): https://github.com/PHPMailer/PHPMailer

Also, if you are getting any errors make sure you list them so we know how to help you further.

Upvotes: 1

Related Questions