我可以通过mailto:链接创建一个预先填充图像的电子邮件吗?

时间:2014-06-06 10:25:04

标签: html email outlook

所以我有这样的链接:

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"/>

这可能还是我住在梦乡?

1 个答案:

答案 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);