我有一个网站的人注册成为用户。
此脚本向用户发送一个注册它们的按钮。我的问题是他们的电子邮件仍然说FROM:example@server.example.com
我怎么说它来自no-reply@example.com我可以发誓这会在标题中起作用
$头[ “回复”] = “no-reply@example.com”;
有人可以帮助我吗?
<?php
class SignupEmail {
public function sendEmail($name, $email){
$admin_email = "test@gmail.com";
// request the fields needed for email from form
$subject = "New User!";
// request field for bots
$subjectUser = "New User!";
//capitalize the first letter of the first name
$name = ucfirst($name);
//user information
$to = $email;
$subjects = "Thanks " . $name . ", for signing up.";
$messages='<html>
<head>
<style>
#copyw{position:absolute;bottom:0;}
#logo{background-color:white;width:100%;height:150px;}
body{background-image: url("https://www.example.com/images/emailbg.png");no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
button{
color:white;
background-color:green;
}
</style>
<title>Welcome to Example!</title>
</head>
<body>
<tr id="logo">
<img src="https://www.example.com/example-logo-dark.png">
</tr>
<h1 style="color:white;font-size:35px;font-weight:bold;">Thank you for Signing up!</h1>
<h2 style="color:white; font-size:30px;">Click the button below to login for the first time.</h2>
<a href="https://www.example.com/login.php"><img src="https://www.example.com/images/login-img.png" height="175" width="140" /></a>
<form action="https://www.example.com">
<input type="submit" value="Login!">
</form>
<table>
<tr>
</tr>
<tr>
<td style="font-size:22px;font-color:gray;" id="copyw">© example 2016. All rights reserved. </td>
</tr>
</table>
</body>
</html>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers["Reply-To"]="no-reply@example.com";
if (!mail($to, $subjects, $messages, $headers) || !mail($admin_email, $email, $name)){
return 'Mailfailure';
}
else {
return 'Mailsent';
}
}
}
?>
答案 0 :(得分:2)
$headers
变量必须是一个字符串,其中每个标题都是一行。但是你将它视为一个数组:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers["Reply-To"]="no-reply@example.com";
^^^^^^^^^^^^
您应该将其更改为:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "Reply-To: no-reply@example.com\r\n"; // or
$headers .= "From: no-reply@example.com\r\n";