所以,我在过去一小时左右一直在研究这个邮件功能,但我无法弄清楚它为什么不发送电子邮件!我已多次尝试,改变代码并尝试使其完美,但仍然,我还没有收到测试邮件......
我的电子邮件中有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);
请不要将此作为副本分类,因为我已经测试了关于此主题的其他论坛问题,但他们并没有解决我的问题! :(
由于
编辑: 我的注册功能在页面上:
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);
}
UPDATE ::
好的,所以我发现如果我将它上传到我发布的服务器上,它确实有用,所以它一定是我本地主机上的问题...谢谢@MarkP
答案 0 :(得分:3)
好的,在实时聊天后发现OP正在使用本地服务器(XAMPP)。
我建议他们转到How to configure XAMPP to send mail from localhost?
了解如何激活邮件服务器。
@Caelan Grgurovic如果这是正确的解决方案,请接受我的回答,以便人们不会花时间试图找出问题所在。
在您的服务器上试试这个
新页面test.php
<?php
mail('youremail@email.com', 'Welcome!', 'body');
?>
obv更改您的电子邮件,如果这不起作用,那么您没有正确设置服务器上的电子邮件,请尝试使用Web主机服务器。
答案 1 :(得分:2)
不确定是否属于这种情况,但您的analogWrite()
语法错误,更改
$body
到
<span>Welcome, $register_data['fname'];