0

The following PHP code works perfectly, but it is not doing line breaks for some reason.

PHP:

$headers  = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "From: '".$title."' <".$store_email."> \n";
$subject = "New Payment Received";
//MESSAGE
$message =  "New payment was successfully recieved through paypal payment terminal:";
$message .= "\r\n\nFrom ".$paypal->pp_data['payer_email'];
$message .= "\r\nPaid: ".$paypal->pp_data['payment_gross']." ".$paypal->pp_data['mc_currency'];
$message .= "\r\nDate: ".date('d/m/Y');
$message .= "\r\nTime: ".date('g:i A');
mail($admin_email,$subject,$message,$headers);

Any wonder what's wrong? Thanks in advance.

4

2 回答 2

6

您正在发送 HTML 电子邮件。换行符在 HTML 中没有意义,你需要<br />标签。

于 2013-04-27T19:07:25.217 回答
0

ceejayoz 给出的直接答案是正确的,并且<br>需要 html 元素,因为它是一个 html 电子邮件。更大的问题是并非所有电子邮件都可以在 html 中读取(例如:用户不允许使用 html 电子邮件)。任何发送电子邮件的人都应该分两部分发送。一个是 html 格式的消息,另一个是纯文本的“替代”。这样,无论电子邮件阅读器如何,收件人都可以阅读电子邮件。\r\n 换行符适用于纯文本替代部分和 html<br>或其他需要格式化的元素。这样做可以避免下一个问题。收件人抱怨我的电子邮件是空白的。

于 2015-07-24T16:18:23.337 回答