Tag: 电子邮件

为什么我不能通过附件发送此电子邮件?

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Mail; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void email_send() { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient(“smtp.gmail.com”);//the smtp server mail.From = new MailAddress(“my […]

有什么方法可以让.NET代码在到达时运行并处理电子邮件?

我的任务是创建某种服务,将任何电子邮件发送到电子邮件地址并处理电子邮件的内容(包括二进制附件)。 我已经完全访问将运行此服务的服务器(Windows Server 2008),并决定使用.NET框架(3.5)对解决方案进行编码。 现在我正在思考我能做到这一点的不同方式。 由于我在编程方式处理电子邮件方面不是很有经验,因此我的第一个解决方案就是创建一个电子邮件客户端,定期轮询现有的电子邮件服务器以获取传入的电子邮件(使用POP3协议) )并处理它们。 但还有其他方法可以做到这一点。 一个可能是使用IMAP保持连接到邮件服务器并在它们到达时立即获取电子邮件(反应更快,但我相信IMAP协议更难实现。)这里的后续问题是:我在哪里可以找到支持POP3或IMAP协议的可靠电子邮件库? 另一个可能是以某种方式配置电子邮件服务器直接管理发送到我的二进制代码的特定地址的电子邮件(我已经看到这在Linux服务器上完成。)我不知道如何去做这个,虽然。 我能想到的最后一点就是在它自己的地址上创建一个虚拟电子邮件服务器,当它到达时直接处理电子邮件,但对我来说这似乎是一个坏主意。 有没有人有这方面的经验? 我认为必须为票证支持系统编写电子邮件处理程序并不罕见,除此之外我还需要处理附件。 我会感激任何提示和技巧。

阅读未打开Outlook应用程序的电子邮件

多数民众赞成我使用C#阅读电子邮件: outLookApp.NewMailEx += new ApplicationEvents_11_NewMailExEventHandler(outLookApp_NewMailEx); Outlook.NameSpace olNameSpace = outLookApp.GetNamespace(“mapi”); olNameSpace.Logon(“xxxx”, “xxxxx”, false, true); Outlook.MAPIFolder oInbox = olNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); Outlook.Items oItems = oInbox.Items; MessageBox.Show(“Total : ” + oItems.Count); //Total Itemin inbox oItems = oItems.Restrict(“[Unread] = true”); MessageBox.Show(“Total Unread : ” + oItems.Count); //Unread Items Outlook.MailItem oMsg; Outlook.Attachment mailAttachement; for (int i = 0; i < oItems.Count; i++) […]

从电子邮件下载附件

如何浏览电子邮件并下载所有附件? public string Connect_Email () { string Res = “”; try { mailclient = new TcpClient(“pop.orange.fr”, Convert.ToInt16(“110”)); } catch ( SocketException ExTrhown ) { Res = “Unable to connect to server 1”; throw new Exception(ExTrhown.Message + “Unable to connect to server 1”); } ns = mailclient.GetStream(); sr = new StreamReader(ns); sw = new StreamWriter(ns); response […]

是否有可能以编程方式“清理”电子邮件?

有没有人有任何关于我如何清理收到的电子邮件的建议? 我想删除免责声明,图像以及可能也存在的任何以前的电子邮件文本,以便我只留下正文文本内容。 我的猜测是不可能以任何可靠的方式,但是有人试过吗? 有没有适合这种事情的图书馆?

寻找新电子邮件的实时IMAP通知

我正在寻找一种方法来监控GMail收件箱中的新电子邮件。 但是,我想避免每隔几分钟检查一次,我正在寻找某种实时通知。 我注意到Outlook(以及其他支持IMAP的客户端)会在有新电子邮件时立即显示,但遗憾的是所有.NET IMAP库似乎都缺少此function。 有谁知道有这个function的IMAP库? 或者是否有另一种方法可以在不进行短期轮询的情况下立即通知新消息?

延迟在C#中发送电子邮件

我们正在编写一个function,可以在x天内向客户发送提醒电子邮件,并且想知道是否可以延迟发送类似于Outlook中的电子邮件(新邮件>选项按钮>之前不提供)在C#中。 有谁知道这样做的方法?

如何将图像流嵌入MailMessage

我在将一个图像从Properties.Resources嵌入到MailMessage时遇到了一些困难,目前图像没有显示在我收到的电子邮件中。 我已经成功地从目录位置嵌入了图像,但是如果图像来自内存/应用程序则更喜欢。 这是我正在做的简化版本。 Bitmap b = new Bitmap(Properties.Resources.companyLogo); MemoryStream logo = new MemoryStream(); b.Save(logo, ImageFormat.Jpeg); MailMessage newEmail = new MailMessage(from, to); newEmail.Subject = subject; newEmail.IsBodyHtml = true; LinkedResource footerImg = new LinkedResource(logo, “image/jpeg”); footerImg.ContentId = “companyLogo”; AlternateView foot= AlternateView.CreateAlternateViewFromString(body + ” “, null, “text/html”); foot.LinkedResources.Add(footerImg); newEmail.AlternateViews.Add(foot); SmtpClient server = new SmtpClient(host, port); server.Send(newEmail);

如何使用用户的默认电子邮件客户端弹出撰写/创建邮件对话框?

用例很简单。 在某个时间点,我需要能够向用户显示他熟悉的撰写电子邮件对话框(Outlook或其他) 像from,to,Subject这样的字段已经填满了某些应用程序确定的值。 电子邮件也会随附一个附件。 除非用户明确表示,否则不应发送邮件。 我曾经在OL’VB6时代做过这件事……现在不知道怎么回事……我只记得那很容易。 托管应用,C#,。net 3.0+ 更新#1 :是的,似乎mailto删除了对附件的支持(作为安全风险?)。 我试过了 您需要包含ShellExecute签名,如此处所述 。 我从中得到的只是一个5 SE_ERR_ACCESSDENIED和一个2只是为了一些变化 string sMailToLink = @”mailto:some.address@gmail.com?subject=Hey&body= yeah yeah yeah”; IntPtr result = ShellExecute(IntPtr.Zero, “open”, sMailToLink, “”, “”, ShowCommands.SW_SHOWNORMAL); Debug.Assert(result.ToInt32() > 32, “Shell Execute failed with return code ” + result.ToInt32()); 同样的MailtoLink与Process.Start完美配合……但只要您不提及附件 。 System.Diagnostics.Process.Start(sMailToLink); 其他选项使用Outlook对象模型来执行此操作..但我被告知这需要您根据安装的Outlook的确切版本添加程序集引用。 如果用户不喜欢MS用于电子邮件,这也会爆炸。 下一个选项是Mapi和一个名为Mapi33的东西。状态仍在进行中。 耳朵仍然接受建议。

使用Smtp.mail.microsoftonline.com发送电子邮件

上下文: 我们是一家没有Exchange Server(或任何致力于它的人)的小公司,但我们仍需要/发送电子邮件。 我们决定使用Microsoft Online Services(MOS) 目标: 我们有一个Web服务器(带有IIS 6.0的Windows Server 2003 R2)并部署了一个C#ASP.Net MCV应用程序。 每次用户创建帐户时,Web应用程序都需要发送电子邮件。 根据文档,我们需要使用端口(587)并确保启用传输层安全性(TLS)。 此外,正在使用的FROM地址必须是“权威”类型,当我通过Microsoft Online Administration Center进行双重检查时 代码: 我所拥有的C#代码应该是微不足道的,如下: SmtpClient server = new SmtpClient(“Smtp.mail.microsoftonline.com”); server.Port = 587; server.EnableSsl = true; server.Credentials = new System.Net.NetworkCredential(“xxx@domain.com”, “123abc”); server.UseDefaultCredentials = false; MailMessage mail = new MailMessage(); mail.From = new MailAddress(“xxx@domain.com”); mail.To.Add(“johndoe@domain.com”); mail.Subject = “test subject”; mail.Body […]