php mail()函数不会发送到gmail / hotmail,但是会发送到我的网络托管邮件

时间:2018-08-11 17:28:03

标签: php email

在编码方面取得重大突破后,我回到了尝试建立自己的第一个网站的过程。

我无法从联系表单向Gmail地址发送邮件。我可以发送给我的Web主机用户邮件,但是那不是我想要的位置,我也想在将来学习它。

我曾尝试在Google周围搜索,但无法一起使用。我确实怀疑它与SMTP设置有关。

也许我根本不应该使用php mail()。 因此,如果我使用$to ="<mymail@myhost.com>可以正常工作,但是如果我将其切换为hotmail或gmail,则邮件不会通过。

if ( isset($_POST['name']) && isset($_POST['mail']) && isset($_POST['message']) ) { 
$name = $_POST['name'];
$mail = $_POST['mail'];
$message = nl2br($_POST['message']);
$to = "<mail@mail.com>";
$from = "<$mail>";
$subject = 'Kontaktformulär från mysite.com ifyllt';
$message = '<b>Name:</b> '.$name.' <br><b>Email:</b> '.$mail.' <p>'.$message.'</p>';
$headers = "From: $from" . "\r\n" . "Reply-to: $mail" . "\r\n" . "X-Mailer: PHP/" . phpversion();
$headers .= "MIME-version: 1.0\n";
$headers .= "Content-Type: text/html; charset=utf-8\n"; //Fixes ÅÄÖ in Sender name and Message


if( mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $headers) ) { //Fixes ÅÄÖ in subject 
    echo "success"; 

} else { 
    echo "The server failed to send the message. Please try again later."; 
} 
} 

0 个答案:

没有答案