Tag: system.net.mail

在asp.net发送邮件

我使用的是asp.net 3.5和C#。 我想从asp.net发送邮件,因为我从我的托管服务提供商那里得到了一些细节 这些是: mail.MySite.net 用户名 密码 但是我无法通过这些详细信息发送邮件,我在web.config文件中进行了以下更改: 另外,在后面的代码我写这个函数: MailMessage mail = new MailMessage(“webmaster@mySite.net”, “XYZ@gmail.com”); mail.Subject = “Hi”; mail.Body = “Test Mail from ASP.NET”; mail.IsBodyHtml = false; SmtpClient smp = new SmtpClient(); smp.Send(mail); 但由于消息发送失败,我收到错误消息。 请让我知道我做错了什么以及我必须做些什么才能让它正常工作。 提前致谢。

使用System.Net.Mail时格式化电子邮件的最佳方法是什么

嗨,我正在使用System.Net.Mail发送一些HTML格式的电子邮件。 将css插入电子邮件的正确方法是什么? 我知道我可以为每个项目应用格式,但我宁愿使用样式表.. 编辑我应该提到这是一个内部应用程序,我希望99%的用户使用Outlook或其他客户端,但从不使用hotmail或gmail等。

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

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

如何通过从我的工作站发送邮件使McAfee变得酷炫?

我正在为服务器开发一个应用程序,它必须偶尔发送邮件以通知用户。 MailMessage mm = new MailMessage(); mm.To.Add(“me@domain.net”); mm.From = new MailAddress(“you@domain.net”); mm.Subject = “J/K”; mm.Priority = MailPriority.Normal; mm.IsBodyHtml = false; mm.Body = “Greetings and salutations”; SmtpClient client = new SmtpClient(“host.address.lcl”); client.Send(mm); 如果我将应用程序放在实际的服务器上它可以正常工作,但在我的工作站上,根据我访问代码的方式,它会无声地失败或抛出exception。 无论哪种情况,都会生成McLogEvent: Blocked by port blocking rule (Anti-virus Standard Protection:Prevent mass mailing worms from sending mail). ……并且例外说: System.Net.Mail.SmtpException: Failure sending mail. —> System.Net.WebException: Unable […]

GMail没有显示内联图像(cid)我正在使用System.Net.Mail发送

当我通过outlook或gmail向gmail电子邮件地址发送电子邮件时,我可以添加直接显示在gmail web界面中的内嵌图像: 工作电子邮件的相关原始邮件标题和原始正文部分: –089e0158b6909948880520cef593 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Image there?=E2=80=8BHope so! –089e0158b6909948880520cef593– –089e0158b69099488c0520cef594 Content-Type: image/png; name=”test.png” Content-Disposition: inline; filename=”test.png” Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_if3zqhar0_15014363be0a41b2 iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAIAAAAlXwkiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAADFJREFUeNpi+A8BDCf/wwDD/1VIbBABIudDmAchokwgag9QAiwHVcsM Z/5fCdYJEGAAuthJ+AVi5KgAAAAASUVORK5CYII= –089e0158b69099488c0520cef594– 完整的原始电子邮件: 工作原始电子邮件 。 但是,当我从.NET通过System.Net.Mail发送此类电子邮件时,它不能在gmail Web界面中工作,而是在任何其他电子邮件客户端(outlook,iphone等): 非工作电子邮件的相关原始邮件头和原始部分: —-boundary_3_6a0761ee-57e2-4bdd-b1f1-7302b3c8a7a1 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Image there?Hope so! —-boundary_3_6a0761ee-57e2-4bdd-b1f1-7302b3c8a7a1– —-boundary_5_979e00c0-3fb9-46a0-b25c-1cee82cc15eb Content-Type: image/png; name=test.png Content-Transfer-Encoding: base64 Content-Disposition: inline; filename=test.png Content-ID: […]

C#从邮件附件中获取文件名

我有一个简单的C#应用​​程序发送SMTP电子邮件(使用System.Net.Mail类)。 发送(通过电子邮件发送)MailMessage对象后,我想遍历附件列表并删除与这些附件相关联的原始文件…但我很难找到与每个附件关联的完整文件路径 – 而不保留我的自己的附件文件路径集合。 必须有一种从附件对象中提取完整文件路径的好方法。 我知道这必须简单,但我花了很多时间在这个……时间问别人。

我可以在System.Net.Mail中关闭电子邮件地址validation吗?

我正在尝试使用电子邮件与传真服务器软件交谈。 传真服务器将接受格式化的SMTP邮件并将其转换为传真,并将它们发送到地址中定义的传真号码。 这是通过从同一服务器从Outlook发送电子邮件手动测试的。 这是我的问题 – System.Net.Mail抛出一个System.FormatException: The specified string is not in the form required for an e-mail address. 由于我尝试发送到的电子邮件地址的格式而导致的exception 有什么方法可以关闭/更改此validation,因为电子邮件地址可能不符合RFC,但如果电子邮件被发送,它将起作用 即我想发送到[RFax:User @ / FN = 0123456789],包括方括号 您可以在Outlook中将其作为电子邮件地址发送 干杯克里斯 编辑 这是我用来绕过validation的类的简化版本。 有两种方法 – 一种是通过覆盖构造函数并直接设置内部属性,另一种是使用内部构造函数。 如果电子邮件地址中有空格,它们的效果会略有不同 using System; using System.Reflection; namespace Mail { public class UnverifiedEmailAddress : System.Net.Mail.MailAddress { /// /// Constructor to bypass the validation […]

为什么只能调用一次SmtpClient.SendAsync?

我正在尝试使用SmtpClient在.NET中编写通知服务(用于完全合法的非垃圾邮件目的)。 最初我只是通过每个消息循环并发送它,但这很慢,我想提高速度。 所以,我切换到使用’SendAsync’,但现在在第二次调用时收到以下错误: An asynchronous call is already in progress. 我读到这意味着MS瘫痪了System.Net.Mail以防止群发邮件。 它是否正确? 如果是这样,有没有更好的方法在.NET中执行此操作,并且仍然能够记录每封电子邮件的结果(这对我们的客户来说很重要)。 如果没有,为什么SendAsync只能被调用一次?

.NET System.Net.Mail消息始终在内部服务器上标记为垃圾

我正在使用System.Net.Mail发送一些电子邮件。 电子邮件由我们的内部邮件服务器发送到本地地址。 但是,所有这些消息都会直接暴露在Outlook中。 邮件正在从有效的电子邮件地址发送。 什么会导致我们的服务器将其标记为垃圾? MailMessage msg = new MailMessage(); msg.IsBodyHtml = true; msg.Subject = subject; msg.Body = body; msg.From = new MailAddress(from); msg.To.Add(to); SmtpClient client = new SmtpClient(server, 25); client.Send(msg);

System.Net.Mail.SmtpException:系统存储不足。 服务器响应如下:4.3.1系统资源不足

我最近在C#中设计了一个程序,它将从SQL数据库中提取信息,编写带有结果的HTML页面,并自动发送电子邮件。 我一切都在工作[偶尔],我遇到的问题是我似乎正在崩溃我们公司的交换服务器。 在程序的前几次成功运行之后,我将开始获得此exception: 基本exception:System.Net.Mail.SmtpException:系统存储不足。 服务器响应如下:4.3.1系统资源不足 我想知道我是否应该在我的邮件中调用某种类似Dispose()的方法? 或者,如果有任何其他明显的原因导致邮件系统停止响应? 这会影响我们公司的所有客户,而不仅仅是我的代码。 这是Exchange 2010,我的代码是针对.NET 3.5编译的。 我的附件通常是27kb。 如果我登录到Exchange服务器,似乎消息只是无限期地挂在队列中。 清除队列(删除而不发送NDR)并重新启动服务器将重新启动它。 邮件部分如下所示(用户名,密码和地址已更改): public void doFinalEmail() { List distList = new List(); string distListPath = Environment.CurrentDirectory + “\\DistList.txt”; string aLine; logThat(“Attempting email distribution of the generated report.”); if (File.Exists(distListPath)) { FileInfo distFile = new FileInfo(distListPath); StreamReader distReader = distFile.OpenText(); while (!String.IsNullOrEmpty(aLine = distReader.ReadLine())) […]