Mailto: Body formatting [duplicate]

2019-01-17 10:40发布

问题:

Possible Duplicate:
mailto link multiple body lines

Just a quick question. I am creating a website for a charity and they have a section on the site where people can give some suggestions for how they could raise more money for their cause. Their site is just plain HTML, JS and CSS to keep it light-weight. I added a mailto: that will allow people to send them an e-mail, but they would like some more information like their name and their contact details. I want to know if there is a way to format the body so that there are new lines:

name: 
email:
tel:
postal address:

thank you!

Here is what my mailto looks like now. any help or suggestions are welcome:

<a href="mailto:someone@example.com?subject=Suggestions&body=Your%20suggestions%20are%20really%20important%20to%20us%20,thanks!">Send suggestions!</a>

回答1:

Use %0D%0A for a line break in your body

  • How to enter line break into mailto body command (by Christian Petters; 01 Apr 2008)

Example (Demo):

<a href="mailto:someone@example.com?subject=Suggestions&body=name:%0D%0Aemail:">test</a>​
                                                                  ^^^^^^


回答2:

From the first result on Google:

mailto:name@domain.e_t?subject=Header&body=This%20is...%20the%20first%20line%0D%0AThis%20is%20the%20second


回答3:

Forget it; this might work with Outlook or maybe even GMail but you won't be able to get this working properly supporting most other E-mail clients out there (and there's a shitton of 'em).

You're better of using a simple PHP script (check out PHPMailer) or use a hosted solution (Google "email form hosted", "free email form hosting" or something similar)

By the way, you are looking for the term "Percent-encoding" (also called url-encoding and Javascript uses encodeUri/encodeUriComponent (make sure you understand the differences!)). You will need to encode a whole lot more than just newlines.