GRO*_*ER. 5 html php email html-email
所以,我在过去一个小时左右的时间里一直在研究这个邮件功能,但我不明白为什么它没有发送电子邮件!我已经尝试了多次,修改代码并试图使其完美,但我仍然没有收到测试电子邮件......
我的电子邮件中有 HTML,但这不是问题,因为我已经在没有 HTML 的情况下对其进行了测试。
我的PHP:
$to = $register_data['email'];
$subject = "Welcome!";
$body = '
<html>
<head>
<style>
body{
background-color: #FFF;
font-family: arial;
margin: 0;
padding: 0;
}
a{
color: inherit;
text-decoration: none;
}
.outer-email{
width: 80%;
height: auto;
margin: 0 auto;
}
.info-email{
width: 80%;
margin: 120px auto;
}
.outer-header h3{
font-size: 2.9em;
color: #151515;
margin: 0;
}
.inner-email{
margin-top: 20px;
}
.inner-email span{
font-size: 1.3em;
color: #151515;
}
</style>
</head>
<body>
<div class="outer-email">
<div class="info-email">
<div class="outer-header">
<h3>Welcome!</h3>
</div>
<div class="inner-email">
<span>Welcome, $register_data['fname'];
</span>
</div>
</div>
</div>
</body>
</html>
';
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= 'From: Domain <noreply@domain.com>';
mail($to, 'Welcome!', $body, $headers);
Run Code Online (Sandbox Code Playgroud)
请不要将其归类为重复项,因为我已经测试了很多有关此主题的其他论坛问题,但它们没有解决我的问题!:(
谢谢
编辑:我在页面上的注册功能:
if(empty($_POST) === false && empty($errors) === true) {
$register_data = array(
'username' => $_POST['username'],
'password' => $_POST['password'],
'fname' => $_POST['fname'],
'lname' => $_POST['lname'],
'email' => $_POST['email'],
'type' => $_POST['type'],
'email_code' => md5($_POST['username'] + microtime())
);
register($register_data, $conn);
redirect('register.php?success');
exit();
} else if (empty($errors) === false) {
echo error_output($errors);
}
Run Code Online (Sandbox Code Playgroud)
更新::
好的,所以我发现如果我将它上传到我发布的服务器上,它实际上可以工作,所以它一定是我的本地主机上的问题......谢谢@MarkP
不确定是否是这种情况,但您的$body, 更改中有语法错误
<span>Welcome, $register_data['fname'];
Run Code Online (Sandbox Code Playgroud)
到
<span>Welcome, '.$register_data["fname"].';
Run Code Online (Sandbox Code Playgroud)