如何在c#中添加附件到mailto?

vic*_*cky 8 c# unity-game-engine

string email ="sample@gmail.com";
attachment = path + "/" + filename;
Application.OpenURL ("mailto:" + 
                      email+"
                      ?subject=EmailSubject&body=EmailBody"+"&attachment="+attachment);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,attachment不起作用.在C#中使用mailto:link添加附件还有其他选择吗?

Rah*_*thi 2

您可以使用具有MailMessage.Attachments属性的System.Net.Mail。就像是:

message.Attachments.Add(new Attachment(yourAttachmentPath));
Run Code Online (Sandbox Code Playgroud)

或者

你可以这样尝试:

using SendFileTo;

namespace TestSendTo
{
    public partial class Form1 : Form
    {
        private void btnSend_Click(object sender, EventArgs e)
        {
            MAPI mapi = new MAPI();

            mapi.AddAttachment("c:\\temp\\file1.txt");
            mapi.AddAttachment("c:\\temp\\file2.txt");
            mapi.AddRecipientTo("person1@somewhere.com");
            mapi.AddRecipientTo("person2@somewhere.com");
            mapi.SendMailPopup("testing", "body text");

            // Or if you want try and do a direct send without displaying the 
            // mail dialog mapi.SendMailDirect("testing", "body text");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码使用了MAPI32.dll。

来源

它可能不会附加文档,因为电子邮件客户端可以自由地实现 mailto 协议并包括对附件子句的解析。您可能不知道 PC 上安装了什么邮件客户端,因此它可能并不总是有效 - Outlook 当然不支持使用 mailto 的附件