HTML: insert line-break in email subject like %20 is a space?

Replace \n (and \r\n) by %0D%0A as specified by RFC6068 (in section 5) updating the mailto URI Scheme as of October 2010 (replacing RFC2368).

[...] line breaks in the body of a message MUST be encoded with "%0D%0A".
Implementations MAY add a final line break to the body of a message even if there is no trailing "%0D%0A" in the body [...]

This is the example from the RFC (in section 6)

<mailto:[email protected]?body=send%20current-issue%0D%0Asend%20index>

The above mail body corresponds to:

send current-issue
send index

You should use a carriage return %0D and line feed %0A

<a href="mailto:[email protected][email protected]&subject=your subject&body=Text before new line.%0D%0AText after new line.">create email</a>

This is defined in RFC2368 and is the only valid method of generating a line-break.

Tags:

Html

Email