PHPMailer с Migadu не работает - PullRequest
0 голосов
/ 24 мая 2018

Я использую почтовый сервер Migadu и PHP Mailer для настройки простой формы контакта.

Это файл PHP:

<?php

    require("includes/class.phpmailer.php");
    require("includes/class.smtp.php");

    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];

    $smtpHost = "smtp.migadu.com";
    $smtpUsername = "info@mywebsite.com";
    $smtpPassword = "mypassword";

    $to = 'info@mywebsite.com';

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPSecure = "tls";
    $mail->SMTPAuth = true;
    $mail->Port = 587;
    $mail->IsHTML(true);
    $mail->CharSet = "utf-8";

    $mail->Host = $smtpHost;
    $mail->Username = $smtpUsername;
    $mail->Password = $smtpPassword;

    $mail->From = $smtpUsername;
    $mail->FromName = $name;
    $mail->AddAddress($to);
    $mail->AddReplyTo($email);

    $mail->Subject = "Contact Form";

    $body = '<h1>Contact!</h1>';
    $body .= '<p><b>Name: </b>'.$name.'</p>';
    $body .= '<p><b>Email: </b>'.$email.'</p>';
    $body .= '<p><b>Message: </b>'.$message.'</p>';

    $mail->Body = $body;

    $sentStatus = $mail->Send();

    if($sentStatus){
        echo json_encode(['status' => 'ok']);
    }else{
        echo json_encode(['status' => 'error', 'errorType' => 'server']);
    }
?>

Но он не отправляет почту.Кроме того, он не выдает никакой ошибки, он просто застрял в загрузке навсегда.

1 Ответ

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

Ошибка не отображается, потому что ошибки не отображаются - посмотрите в свойстве ErrorInfo. Все примеров, поставляемых с PHPMailer, делают это, поэтому посмотрите на них , чтобы посмотреть, как это сделать.

Скорее всего, он не "застрял навсегда"Просто время ожидания велико, и это возможно потому, что ваш провайдер блокирует исходящий SMTP, что очень часто встречается. В руководстве по устранению неполадок рассказывается, как это диагностировать.Возможно, у вашего интернет-провайдера есть альтернативный метод отправки электронной почты, например, он может предоставить свой собственный ретранслятор, поэтому вам следует обратиться к его документам.

...