Php 从我的帐户发送邮件。不是网络主机
我得到了一张成功地向我发送电子邮件的联系表 摘录如下:Php 从我的帐户发送邮件。不是网络主机,php,email,message,Php,Email,Message,我得到了一张成功地向我发送电子邮件的联系表 摘录如下: $_POST['message'] = wordwrap($_POST['message'], 70); mail ('myemail@test.com', $_POST['subject'], $_POST['message'] , $_POST['email']); echo "<div class='registertext'>Your email was succesfully sent to a member of t
$_POST['message'] = wordwrap($_POST['message'], 70);
mail ('myemail@test.com', $_POST['subject'], $_POST['message'] , $_POST['email']);
echo "<div class='registertext'>Your email was succesfully sent to a member of the administration team. Please wait 24 hours for as to reply and ensure you check your junk mail!<br />To login please click <a href='login.php'>here</a></div>";
$\u POST['message']=wordwrap($\u POST['message'],70);
邮件('myemail@test.com“,$发布['subject'],$发布['message'],$发布['email']);
echo“您的电子邮件已成功发送给管理团队的一名成员。请等待24小时,等待as回复,并确保您检查了垃圾邮件!
要登录,请单击”;
我遇到的问题是,电子邮件是从我的主机发送的。不是我想指定的电子邮件。如何克服此问题?您可以在电子邮件标题中指定:
$recipient = "recipient@test.com";
$from = "You@yoursite.com";
$replyTo = "You@yoursite.com";
$subject = "Hi!";
$text = "<p>This is a test!<p>";
$headers = "MIME-Version: 1.0\r\n"
."Content-Type: text/html; charset=utf-8\r\n"
."Content-Transfer-Encoding: 8bit\r\n"
."From: =?UTF-8?B?". base64_encode([Your Name]) ."?= <$from>\r\n"
."Reply-To: $replyTo\r\n"
."X-Mailer: PHP/". phpversion();
//send it!
if (mail($recipients, $subject, $text, $headers, "-f $from")){
echo "sent";
} else {
echo "did not send";
};
$recipient=”recipient@test.com";
$from=”You@yoursite.com";
$replyTo=”You@yoursite.com";
$subject=“你好!”;
$text=“这是一个测试!”;
$headers=“MIME版本:1.0\r\n”
“内容类型:text/html;字符集=utf-8\r\n”
“内容传输编码:8位\r\n”
“发件人:=?UTF-8?B?”。base64_编码([您的姓名])“?=\r\n”
“答复:$replyTo\r\n”
“X-Mailer:PHP/”。phpversion();
//发送它!
if(邮件($recipients,$subject,$text,$headers,“-f$from”)){
回音“已发送”;
}否则{
echo“未发送”;
};
但它很有可能被垃圾邮件过滤器捕获。在这种情况下,您最好使用一个PHP邮件库来处理SMTP电子邮件,并使用您的实际帐户来发送邮件(有几个包可以为您处理此问题:,等等。您可以使用PEAR mail,它将使用SMTP帐户。下面是我使用的邮件表单中的一些代码
$from = "Name <webmaster@domain.com>";
$to = "Name <address@domain.com>";
$subject = "Subject";
$body = 'A message!';
$host = "ssl://domain.com";
$port = "465";
$username = "username";
$password = "password";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
$from=“Name”;
$to=“Name”;
$subject=“subject”;
$body='一条消息!';
$host=”ssl://domain.com";
$port=“465”;
$username=“username”;
$password=“password”;
$headers=数组('From'=>$From,
'至'=>$至,
“主题”=>$Subject);
$smtp=Mail::工厂('smtp',
数组('host'=>$host,
“端口”=>$port,
“auth”=>正确,
“用户名”=>$username,
“密码”=>$password));
$mail=$smtp->send($to、$headers、$body);
if(PEAR::isError($mail)){
echo(“”$mail->getMessage()””;
}否则{
echo(消息已成功发送!);
}
对不起……这是我在PHP的第八天。这个垃圾邮件过滤器?是我的网络主机的。也感谢你的输入!我学到了一点:)收件人的电子邮件服务器可能会根据黑名单检查收到的邮件,并有检测垃圾邮件的算法,包括反向DNS查找,以检测发送服务器是否是该域电子邮件的授权代理。SMTP将使用实际的电子邮件服务器通过“登录”并发送电子邮件来发送邮件(就像Outlook在配置SMTP服务器时所做的那样)