如何在php中发送邮件
$ 1跳转= “from@gmail.com”;
$ headers ='MIME-Version:1.0'。 “\ r \ n ;
$headers.= 'Content-type: text/html; charset=utf-8' .
\ r \ n ;
$headers.=
来自:Newslatter'。$ from1。\r\n
;
$ header。= Reply-To: '.$from1.
\ r \ n ;
$headers .=
Return-Path:'。$ from1。\r\n
;
$ headers。= CC:
。$ CCMAIL1。\r\n
;
$ headers。='BCC:'。$ BCCMAIL。\r\n
;
if(mail($to,$subject,$message,$headers)){
return true;
}
else{
return false;
}
答案 0 :(得分:0)
你永远不应该使用反引号(`)来表示字符串。包含PHP变量和\ n和\ r \ n之类的字符串需要双引号(“),而单引号(')适用于其他所有内容。
这是错误的:
$headers = 'MIME-Version: 1.0' . "\r\n`;
这是对的:
$headers = 'MIME-Version: 1.0' . "\r\n";
或者这个:
$headers = "MIME-Version: 1.0 \r\n";
等。确保清除所有代码。
双引号允许你避免连续,所以这个:
echo "The value of my_var is $my_var";
与:
相同echo 'The value of my_var is ' . $my_var;
但反击从不为此目的而工作,并会抛出错误。
除此之外,只需确保在php.ini文件中配置了SMTP设置,就可以了。
答案 1 :(得分:0)
根据您计划发送的帐户以及服务器的配置方式,如果您使用的是PHP邮件功能,则可能会发现您的电子邮件未送达。我发现情况确实如此,Gmail正在过滤通过PHP Mail发送的邮件。
您可以使用SMTP PHP Mail类解决此问题:
https://github.com/Synchro/PHPMailer
您只需要知道电子邮件主机提供的SMTP邮件服务器,用户和密码。
艾伦。
答案 2 :(得分:0)
您应该只使用简单的配额:"
和'
。
像这样:
$headers = 'MIME-Version: 1.0' . '\r\n';
$headers .= 'Content-type: text/html; charset=utf-8' . '\r\n';
$headers .= 'From: Newslatter ' .$from1.'\r\n';
$headers .= 'Reply-To: '.$from1.'\r\n';
$headers .= 'Return-Path:'.$from1.'\r\n';
$headers .= 'CC: '.$from1.'\r\n';
$headers .= 'BCC: '.$from1.'\r\n';
if(mail($to,$subject,$message,$headers)){
return true;
}
else{
return false;
}
您也应该设置$to
,$subject
和$message
。