我有一个联系表单,使用PHPMailer向填写表单的人发送确认邮件。邮件发送没有换行符,所以我试图格式化发送的邮件,我有2个问题。
textarea
用于输入消息。同样的问题,消息是在没有换行符的情况下发送的。以下是发送消息的代码
$msg = 'Hello! ' . $from_name . 'Thank you...! For Contacting Us. ' . "\r\n" .
'Subject: ' . $email_subject . "\r\n" .
'Message: ' . $email_message . "\r\n" .
'This is a Contact Confirmation mail. We Will contact You as soon as possible' . "\r\n";
这是通过PHPMailer发送的变量,邮件没有发送,有错误(我不知道哪个,我只是发现邮件没有成功发送)。如果我不添加"\r\n"
则没有问题
变量$email_message
包含textarea
(也没有换行符发送)。
答案 0 :(得分:1)
HTML不会保留空白区域,这就是您没有看到换行符的原因。您可以告诉PHPMailer不要使用这样的HTML:
$mail->isHTML(false);
$mail->Body = $msg;
发送时,您的换行符将被保留。
或者,将其保留为HTML,但将您的段落包含在<p>
代码中,或使用<br>
代码添加换行符。
答案 1 :(得分:0)
我用来解决第一个问题的解决方案是:
$msg = 'Hello! ' . $from_name . ' <br />' . 'Thank you...! For Contacting Us. <br />' .
'Subject: ' . $email_subject . '<br />' .
'Message: ' . $email_message . '<br />' .
'This is a Contact Confirmation mail. We Will contact You as soon as possible' . '<br />';
$msg_alt = 'Hello! ' . $from_name . 'Thank you...! For Contacting Us. ' .
'Subject: ' . $email_subject .
'Message: ' . $email_message .
'This is a Contact Confirmation mail. We Will contact You as soon as possible';
我没有意识到问题出在AltBody消息上,而不是HTML消息 不允许格式化(或者我没有找到正确的方法) 对于文本区域问题,我还没有找到解决方案。