创建一个PHP字符串以使用PHPMailer发送

时间:2016-12-03 09:53:09

标签: php phpmailer

我有一个联系表单,使用PHPMailer向填写表单的人发送确认邮件。邮件发送没有换行符,所以我试图格式化发送的邮件,我有2个问题。

  1. 没有换行符。
  2. 我有一个textarea用于输入消息。同样的问题,消息是在没有换行符的情况下发送的。
  3. 以下是发送消息的代码

     $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(也没有换行符发送)。

2 个答案:

答案 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消息 不允许格式化(或者我没有找到正确的方法) 对于文本区域问题,我还没有找到解决方案。