Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';t在电子邮件中插入换行符_Php_Email - Fatal编程技术网

Php Can';t在电子邮件中插入换行符

Php Can';t在电子邮件中插入换行符,php,email,Php,Email,我正在使用自己的发送邮件功能,似乎无法向它发送新行 我试过了,但似乎不起作用。也许这些新行在调用我的函数时丢失了 职能: abstract class util { ... static function send_email($to,$from,$subject,$message){ $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; ch

我正在使用自己的
发送邮件
功能,似乎无法向它发送新行

我试过了,但似乎不起作用。也许这些新行在调用我的函数时丢失了

职能:

abstract class util {
    ...
    static function send_email($to,$from,$subject,$message){
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'To: '.$to.'' . "\r\n";
        $headers .= 'From: '.$from.'' . "\r\n";
        mail($to, $subject, $message, $headers);        
    }
    ...
}
电话:

    $subject = "Your email activation for ". DOMAIN;
    $message = "Dear ".$this->name.", \r\n Welcome to ********. Click the link below to activate your account and get started. \r\n ".VERIFY_LINK."?code=".$this->code."&id=".$this->id;
    util::send_email($this->email, EMAIL_REGISTER, $subject, $message);
然而,电子邮件最终总是一句俏皮话


有什么想法吗?

使用
$message=nl2br($message)
函数将\n转换为换行符,因为您的电子邮件是html格式的。或者您可以使用

标记而不是\n换行符来编写邮件尝试使用

标记而不是/n?

为什么不使用
HTML
换行符(

)?我强烈建议使用其他人的邮件发送库,可能有数百人使用它,已经过广泛的调试,没有安全漏洞。

不起作用,可能是因为我没有发送html标记。我切换到文本/纯文本,然后它就起作用了。嗯,我觉得自己很愚蠢,没有注意到。切换到文本/纯文本,然后它工作了。是的,就这样。。但是如果你想使用html,我相信标签可以完成这项工作。我不知道为什么我没有注意到内容类型。我切换到文本/纯文本