Tag: mailmessage

发送到多个电子邮件地址但只显示一个C#

我在C#中使用SmtpClient,我将发送潜在的100多个电子邮件地址。 我不想遍历每一个并向他们发送个人电子邮件。 我知道可以只发送一次消息,但我不希望来自地址的电子邮件显示100个其他电子邮件地址,如下所示: Bob Hope; Brain Cant; Roger Rabbit;Etc Etc 是否可以发送一次消息并确保只有收件人的电子邮件地址显示在电子邮件的部分?

带有重音符号的MailMessage附件文件名

我正在尝试发送带有附加Excel文件名的HTML电子邮件。 这一切都运行良好,直到我发送其附件名称包含重音字母的消息:-(我尝试过的每一种解决方法都失败了。 原始代码: var attachment = new Attachment( new MemoryStream(excelFileContents), “simplefilename.xls”); 这个工作正常。 但是,如果我用“échec.xls”替换“simplefilename.xls”,附件就会被填充(名称和内容)。 我试过这些,但无济于事: var attachment = new Attachment( new MemoryStream(excelFileContents), new System.Net.Mime.ContentType(“application/vnd.ms-excel”)); attachment.Name = “échec.xls”; 最后一个更糟糕的是: SmtpClient.Send()抛出exception,抱怨文件名中的é : var attachment = new Attachment( new MemoryStream(excelFileContents), new System.Net.Mime.ContentType(“application/vnd.ms-excel”)); attachment.ContentDisposition.FileName = “échec.xls”; 我一直在敲打这个太久了。 任何灯都热烈欢迎!

将已发送的MailMessage发送到“已发送文件夹”

我正在使用Exchange Server发送带有SmtpClient(正在成功发送)的MailMessages,但希望我发送的电子邮件转到我发送给他们的电子邮件地址的已发送文件夹(未发生)。 using (var mailMessage = new MailMessage(“fromaddress@blah.com”, “toaddress@blah.com”, “subject”, “body”)) { var smtpClient = new SmtpClient(“SmtpHost”) { EnableSsl = false, DeliveryMethod = SmtpDeliveryMethod.Network }; // Apply credentials smtpClient.Credentials = new NetworkCredential(“smtpUsername”, “smtpPassword”); // Send smtpClient.Send(mailMessage); } 是否有我缺少的配置,以确保我发送的所有来自“fromaddress@blah.com”的电子邮件都到达他们的已发送文件夹?

是否可以捕获使用SmtpClient发送的电子邮件的“消息ID”?

使用.NET中的SmtpClient和MailMessage类通过本地邮件服务器( hMailServer )发送电子邮件,我当前发现无法获取已发送邮件的Message-ID标头值。 背后的想法 我正在尝试以编程方式跟踪无法传递的邮件,因此我必须找到一种方法来识别来自目标SMTP服务器的拒绝某个邮件的回复。 现在我想到只记住Message-ID SMTP标头值并解析此ID的传入邮件。 我在发送邮件后尝试检查Headers集合 ,但是我没有找到任何Message-ID 。 我的问题 是否可以获取我的SMTP服务器在发送MailMessage实例期间添加的Message-ID标头值? 更新2012-05-27 根据这个例子,我在发送之前已成功尝试自己手动生成Message-ID 。 到目前为止,我的所有示例都有效,所以这似乎是我的问题的解决方案。

将System.Net.mail.MailMessage保存为.msg文件

我正在构建一个应用程序,我有义务创建一个MailMessage(System.Net.mail.MailMessage)并将其保存在磁盘上,因为.msg扩展名不是.eml 下面是我用来将MailMessage保存为.msg文件的方法: public static void Save(MailMessage Message, string FileName) { Assembly assembly = typeof(SmtpClient).Assembly; Type _mailWriterType = assembly.GetType(“System.Net.Mail.MailWriter”); using (FileStream _fileStream = new FileStream(FileName, FileMode.Create)) { // Get reflection info for MailWriter contructor ConstructorInfo _mailWriterContructor = _mailWriterType.GetConstructor( BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[] { typeof(Stream) }, null); // Construct MailWriter object with our FileStream object […]

MailAddress构造函数中的多个地址

我试图添加多个这样的地址。 MailAddress mailAddressTo = new MailAddress(“sample@google.com;sample1@google.com”,”Vetrivelmp”); 但抛出错误就像 An invalid character was found in the mail header: ‘;’

如何使用多个线程发送MailMessages?

我希望你们能够忍受我在线程方面完全缺乏方向。 我必须实现一个邮件队列处理系统,我必须通过Windows服务发送在数据库中排队的电子邮件。 它不是生产者 – 消费者模式。 我一次把10行说成数据。 该数据表包含序列化的MailMessage对象和SMTP发送详细信息。 如果我必须使用固定数量的线程(比如6个线程)现在我将如何从线程中的数据表中获取一行然后发送邮件并再次返回以查看是否还有剩余的行? 实现这一点的任何简单逻辑都可以,最好用C#中的简单示例。 我使用的是.NET 3.5

无法在asp.net中发送mailmessage

以下代码无法向客户发送电子邮件,也不会抛出任何exception。 代码不发送任何电子邮件或exception但已执行。我对asp.net完全陌生。 有人可以帮我解决问题。 码: try { String userName = “ramesh”; String passWord = “123456”; String sendr = “ramesh@gmail.com”; String recer = “customer@yahoo.com”; String subject = “Comformation “; String body = “Dear Customer”; MailMessage msgMail = new MailMessage(sendr, recer, subject, body); int PortNumber = 25; SmtpClient smtp = new SmtpClient(“smtp.test.com”, PortNumber); msgMail.IsBodyHtml = true; smtp.DeliveryMethod = […]

MailMessage发送字符串作为正文,而在outlook中没有换行符

嗨,我正在尝试使用system.net.mail.mailmessage发送一个简单的通知。 我只是将字符串作为消息体传递。 但问题是即使发送多行消息在字符串中具有正确的“\ r \ n”格式信息。 在outlook中打开的邮件将显示为一个长单行。 但是Outlook中的查看源将以正确的新行格式显示消息。 例如:原始邮件看起来像: line1 line 2 line 3 但它会在Outlook中显示如下: line1 line 2 line 3 Outlook中的查看源仍将显示 line1 line 2 line 3 我应该怎么做才能使outlook显示正确的换行信息?

Yahoo Mail的C#SMTP电子邮件发送代码失败但对其他服务器工作正常,有人可以帮忙吗?

我正在使用此代码通过yahoo SMTP服务器发送SMTP电子邮件,它是我正在编写的个人项目。 using System.Net.Mail; using System.Net; SmtpClient theClient = new SmtpClient(“smtp.mail.yahoo.com”, 465); theClient.UseDefaultCredentials = false; theClient.Credentials = new NetworkCredential(“username”, “password”); theClient.EnableSsl = true; MailMessage theMessage = new MailMessage(“username@yahoo.com”, “to.someone@gmail.com”); theMessage.Subject = “Dave test from C# subject”; theMessage.Body = “Dave test from C# body”; theClient.Send(theMessage); 它是用于发送SMTP电子邮件的非常标准的代码,但是…服务器似乎抛出错误。 它强行终止连接。 如果我使用其他SMTP服务器(如Gmail,Windows Live或其他各种ISP Smtp服务器),则不会发生这种情况。 这是exception和堆栈跟踪: System.IO.IOException: Unable to read data […]