41
votes

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?

2
@John That is not the right answer in this situation.Chuck Le Butt

2 Answers

40
votes

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');
59
votes

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');