我正在处理我的第一个项目,并且需要添加一个函数作为button_click事件。功能应该打开默认电子邮件客户端的“发送新电子邮件”表单,为空,没有任何目的地,主题或正文,只需附加文件。使用c#从ASP.NET网站发送默认电子邮件客户端(例如Outlook,..)的电子邮件
我经历了很多类似的教程在stackoverflow和codeproject,但无法解决它。我发现类似的功能从代码发送消息,但不只是打开一个空的电子邮件表单并附加所需的文件。但无法成功修改。
我相信也有人在寻找这种解决方案。
我试过到目前为止:
protected void btnSend_Click(object sender, EventArgs e)
{
string value;
value = lstpdfList.SelectedItem.Text;
string file = "W:/" + value + ".pdf";
MailMessage message = new MailMessage();
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastWriteTime(file);
message.Attachments.Add(data);
}
是System.Net.Mail命名空间中的.NET类和程序是一个有效的电子邮件客户端没有UI。如果你想操纵一个外部程序,你需要与它的API进行交互。如果您规定支持哪些电子邮件包,通常会更容易 - 下面是您想要使用Outlook执行的示例:http://stackoverflow.com/questions/6148639/how-to-open-outlook-new-mail-窗户 - c-sharp – dash
D'oh。你的编辑显着改变了这个问题。您需要在浏览器中有一些客户端代码才能打开邮件包并附加文件。这有几个问题 - 例如,如果您访问了一个网站,然后开始打开您的电子邮件客户端并将文件附加到该网站,您会非常高兴吗?这是该功能很难通过默认的链接之外的网络提供的原因之一。 – dash
它将成为公司内部使用的Web应用程序(asp.net网站)。在列表框中有一份手册列表,当他们选择一个时,他们应该能够将其作为附件添加到Outlook中的新电子邮件表单中。你可以帮帮我吗 ?非常重要..谢谢你 –