[英]Getting an error with PHPmailer while using bluehost and outlook
這是我的 php:
<?php
error_reporting(-1);
ini_set('display_errors', 'On');
set_error_handler("var_dump");
$email = $_POST['email'];
require 'Exception.php';
require 'PHPMailer.php';
require 'SMTP.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);
try {
//Server settings
$mail->CharSet="UTF-8";
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtp.office365.com';
$mail->SMTPAuth = true;
$mail->Username = 'me@vrifyhealth.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->From = "subscriber@vrifyhealth.com";
$mail->FromName = "Vrify Health Subscriber";
$mail->addAddress("me@vrifyhealth.com", "me");
$mail->addAddress("other@gmail.com");
//Content
$mail->isHTML(true);
$mail->Subject = 'New subscriber';
$mail->Body = 'New email subscriber for Vrify Health: $email</b>';
if($mail->send()){
header('Location: thank-you.html'); // redirect to 'thank you' page
}
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
?>
這是我的 html:
<form action="mail.php" method="POST">
<div class="email-box">
<input class="tbox" id="email_box" name="email" type="email" style="cursor: pointer;" placeholder="Enter your email">
<button class="btn" id="email_btn" type="submit" name="button">Subscribe</button>
</div>
</form>
<script language="JavaScript">
var frmvalidator = new Validator("contactform");
frmvalidator.addValidation("email","req","Please provide your email");
frmvalidator.addValidation("email","email",
"Please enter a valid email address");
</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/validate.js/0.13.1/validate.min.js"></script>
<script>
const constraints = {
name: {
presence: {allowEmpty: false}
},
email: {
presence: {allowEmpty: false},
email: true
},
message: {
presence: {allowEmpty: false}
}
};
const form = document.getElementById('contact-form');
form.addEventListener('submit', function (event) {
const formValues = {
name: form.elements.name.value,
email: form.elements.email.value,
message: form.elements.message.value
};
const errors = validate(formValues, constraints);
if (errors) {
event.preventDefault();
const errorMessage = Object
.values(errors)
.map(function (fieldValues) {
return fieldValues.join(', ')
})
.join("\n");
alert(errorMessage);
}
}, false);
</script>
我在將 email 發送到我的 outlook 帳戶時遇到問題。 我要么讓它重定向到適當的頁面,要么我得到帶有一堆錯誤的新網頁。 我只是想讓表格向我發送一個帶有新訂戶的 email ......這是怎么回事? 這是錯誤頁面:
我意識到使用 Outlook/Office 365,$mail->From == $mail->Username
我還沒有弄清楚如何使發件人地址適合我想要表達的內容。
SSL 也可以工作,為了獲得正確的重定向,您需要將 $mail->SMTPDebug 設置為 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.