У меня возникла проблема с отправкой почты с использованием phpmailer. Я начинающий программист. Я пытаюсь сделать контактную форму. Мой код выглядит следующим образом (submit.php). Пожалуйста, предложите мне .. Спасибо заранее.phpmailer - электронная почта не отправляется в gmail
session_start();
require_once 'libs/phpmail/PHPMailerAutoload.php';
$errors = array();
if(isset($_POST['name'], $_POST['phone'],$_POST['mail'],$_POST['message'])){
$fields = array(
'name' => $_POST['name'],
'phone' => $_POST['phone'],
'email' => $_POST['mail'],
'message' => $_POST['message']
);
foreach ($fields as $field => $data) {
if(empty($data)){
$errors[] = 'The '. $field . ' field is required';
}
}
if(empty($errors)){
$m = new PHPMailer;
$m -> isSMTP();
$m -> SMTPAuth = true;
//$m -> SMTPDebug = 2;
$m -> Host = 'smtp.gmail.com';
$m -> Username = '[email protected]';
$m -> Password = 'xxxx';
$m -> SMTPSecure = 'ssl';
$m -> Port = 465;
$m -> isHTML();
$m -> Subject = 'Contact form submitted';
$m -> Body = 'From: ' . $fields['name']. '('. $fields['phone'] . $fields['email']. ')'.'<p>' .$fields['message'] .'</p> ';
$m -> FromName = 'Contact';
// $m ->addReplyTo($fields['email'], $fields['name']);
$m -> addAddress('[email protected]', 'xxxxxxxx');
if($m->send()){
header('Location: thanks.php');
die();
}else{
$errors[] = 'Sorry could not send email. Please try again';
}
}
}else{
$errors[] = 'some thing went wrong';
}
$_SESSION['error'] = $errors;
$_SESSION['field'] = $fields;
header('Location: form.php');
Какая ошибка вы получаете? Попробуйте заменить строку 51 на $ errors [] = «Ошибка Mailer:». $ M-> ErrorInfo; – MazzCris
Если вы новичок, вам нужно знать некоторые основы - во-первых, если вы собираетесь использовать библиотеку, прочитайте [документацию] (https://github.com/PHPMailer/PHPMailer/wiki) и используйте [примеры, которые приходят с ним] (https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps), поскольку они, скорее всего, будут лучше, чем те, которые вы найдете в другом месте, так как в этом случае , В этом случае [руководство по поиску и устранению неисправностей] (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting) содержит именно то, что вам нужно знать, и вы могли бы найти его быстрее и беспокоить меньше людей, направляясь прямо туда. – Synchro
Я удалил $ m -> isSMTP(); и это сработало –