43

I'm having a problem sending a plain text (not HTML!) email, all my line breaks are being ignored:

->setBody('Did you request a password reset for your account?\r\n\r\nIf yes, click here:\r\nhttp://www.website.com', 'text/plain');

The above is being displayed in the email as:

Did you request a password reset for your account?\r\n\r\nIf yes, click here:\nhttp://www.website.com

I've checked and the header is apparently set correctly:

Content-Type: text/plain; charset=utf-8

Does anyone have any experience with this?

Chuck Le Butt
  • 47,570
  • 62
  • 203
  • 289

2 Answers2

61

use double quotes like this

->setBody("Did you request a password reset for your account?\r\n\r\nIf yes, click here:\r\nhttp://www.website.com", 'text/plain');
silly
  • 7,789
  • 2
  • 24
  • 37
44

You are using literal strings. If you would like to add the line breaks, use double quotes instead of a single quote.

->setBody("Did you request a password reset for your account?\r\n\r\nIf yes, click here:\r\nhttp://www.website.com", 'text/plain');
jprofitt
  • 10,874
  • 4
  • 36
  • 46
  • 1
    Although @silly beat you by a few seconds, you do actually give a reason as to why it wasn't working. I should have marked yours correct to begin with. – Chuck Le Butt Jun 01 '17 at 15:25