<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="/favicon.ico">
<title>Отправка формы на почту </title>
<!-- Bootstrap core CSS -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<style>
form {
background-color: #f9f9f9;
padding: 20px;
margin: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-sm-4">
<form action="mail.php" method="POST">
<legend>Заголовок формы</legend>
<div class="form-group">
<label for="">Введите ваше имя</label>
<input type="text" class="form-control" id="" name="user_name" placeholder="Например, Иван">
</div>
<div class="form-group">
<label for="">Введите номер телефона</label>
<input type="text" class="form-control" id="" name="user_phone" placeholder="+7 (999) 99 99 999">
</div>
<div class="form-group">
<label for="">Введите email</label>
<input type="text" class="form-control" id="" name="user_email" placeholder="mail@mail.ru">
</div>
<button type="submit" class="btn btn-primary">Отправить форму</button>
</form>
</div><!-- .col-sm-4 -->
</div> <!-- .row -->
</div><!-- /.container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="http://getbootstrap.com/assets/js/ie10-viewport-bug-workaround.js"></script>
</body>
</html>
<?php
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
$name = $_POST['user_name'];
$phone = $_POST['user_phone'];
$email = $_POST['user_email'];
$mail->isSMTP();
$mail->Host = 'smtp.yandex.ru';
$mail->Port = 25;
$mail->Username = 'mrkrojlik@yandex.ru';
$mail->Password = '';
$mail->addAddress('mrkrojlik@yandex.ru');
$mail->isHTML(true);
$mail->SMTPSecure = 'ssl';
$mail->Subject = 'Заявка с тестового сайта';
$mail->Body = '' .$name . ' оставил заявку, его телефон ' .$phone. '<br>Почта этого пользователя: ' .$email;
$mail->AltBody = '';
$mail->SMTPDebug = 2;
$mail->setFrom('mrkrojlik@yandex.ru', 'Сайт site.ru');
if(!$mail->send()) {
echo $mail->ErrorInfo;
} else {
header('location: thank-you.html');
}
?>
错误:2020-01-11 00:45:05 SMTP 错误:无法连接到服务器:(0) 2020-01-11 00:45:05 SMTP connect() 失败。https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting SMTP connect() 失败。https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
要使用 Google 的 SMTP,您必须启动应用程序并在您的帐户中对其进行授权,或者允许未经授权的应用程序连接。
再次测试连接。
由于您使用的是 phpmailer,我建议启用该设置:
在开发阶段,你会看到所有的连接步骤和答案,当你遇到另一个错误时,你要么在这里添加你的问题,要么你可以谷歌解决方案。
据我所知,您尚未指定发件人。
请注意,如果您不想向自己发送消息,而是向客户发送消息,那么使用您使用的方法,消息很有可能最终成为垃圾邮件。
这是通过建立公司邮件来处理的,例如 mail.ru 或 Yandex,确认域的权限并在域的 DNS 中制作所有必要的 mx 和 txt 记录。
然后通过 SMTP 使用此邮件进行邮寄。