所以我有这样的链接:
mailto:someone@nowhere.com?subject=Hello%20You&body=Some%20Body%20Text
我希望打开一封电子邮件,其中包含一个嵌入邮件中的图像(理想情况下),或附加到邮件中。理想情况下,我也想将Excel中的表添加到邮件中。
mailto:someone@nowhere.com?subject=Hello%20You&body=Some%20Body%20Text%0A<a%20href="image.jpg"/>
这可能还是我住在梦乡?
答案 0 :(得分:1)
简答
没有
长答案
根据规范RFC2368
,无法发送图像(作为HTML)特殊的hname&#34; body&#34;表示关联的hvalue是消息的正文。 &#34;身体&#34; hname应包含消息的第一个text / plain正文部分的内容。 mailto URL主要用于生成实际上是自动处理内容的短文本消息(例如&#34; subscribe&#34;邮件列表的消息),而不是一般的MIME主体。
http://www.ietf.org/rfc/rfc2368.txt
那我该怎么办?
你最好的选择是拥有服务器端的公式。
<form action="/pathto/serverside/mailer" method="post">
<input type="text" name="name" placeholder="Your name" />
<input type="text" name="mail" placeholder="Your email-adress" />
<input type="text" name="message" placeholder="Your message" />
<input type="submit" value="Send">
</form>
PHP方式
$mail = new PHPMailer;
$mail->IsSMTP();
$mail->Host = $host;
$mail->SMTPAuth = true;
$mail->Username = $username;
$mail->Password = $password;
$mail->From = $from;
$mail->FromName = $fromName;
$mail->AddAddress($to , $toName);
$mail->Subject = $subject;
$mail->Body = $body; //Your Html
$mail->IsHTML(true);
这是基于PHPMailer库https://github.com/PHPMailer/PHPMailer,因为内置的mail()
函数是个人的魔鬼;)
ASP方式
MailMessage mail = new MailMessage(from, to, subject, message);
mail.IsBodyHtml = true;
SmtpClient client = new SmtpClient("localhost");
client.Send(mail);