VS2010代码分析报告如下:警告4CA2000:Microsoft.Reliability:在方法'Mailer.SendMessage()'中,对象'client'未沿所有异常路径处理。在所有对它的引用超出范围之前,调用对象“客户端”上的System.IDisposable.Dispose。我的代码是:publicvoidSendMessage(){SmtpClientclient=newSmtpClient();client.Send(Message);client.Dispose();DisposeAttachments();}如何正确处置客户端?更新:回答Jons的问题,这里
我有以下代码:publicstaticvoidSend(thisMailMessageemail){if(!isInitialized)Initialize(false);//smtpClient.SendAsync(email,"");email.IsBodyHtml=true;ThreadmailThread=newThread(newParameterizedThreadStart((o)=>{varm=oasMailMessage;SmtpClientclient=newSmtpClient("smtpserveraddress");client.Send(m);}));mai
我有以下代码:publicstaticvoidSend(thisMailMessageemail){if(!isInitialized)Initialize(false);//smtpClient.SendAsync(email,"");email.IsBodyHtml=true;ThreadmailThread=newThread(newParameterizedThreadStart((o)=>{varm=oasMailMessage;SmtpClientclient=newSmtpClient("smtpserveraddress");client.Send(m);}));mai
我正在为一个学校项目开发一个邮件客户端。我已经设法使用C#中的SmtpClient发送电子邮件。这适用于任何服务器,但不适用于Gmail。我相信这是因为谷歌使用了TLS。我已经尝试在SmtpClient上将EnableSsl设置为true但这没有任何区别。这是我用来创建SmtpClient和发送电子邮件的代码。this.client=newSmtpClient("smtp.gmail.com",587);this.client.EnableSsl=true;this.client.UseDefaultCredentials=false;this.client.Credentials=n
我正在为一个学校项目开发一个邮件客户端。我已经设法使用C#中的SmtpClient发送电子邮件。这适用于任何服务器,但不适用于Gmail。我相信这是因为谷歌使用了TLS。我已经尝试在SmtpClient上将EnableSsl设置为true但这没有任何区别。这是我用来创建SmtpClient和发送电子邮件的代码。this.client=newSmtpClient("smtp.gmail.com",587);this.client.EnableSsl=true;this.client.UseDefaultCredentials=false;this.client.Credentials=n
SmtpClient()允许您将附件添加到您的邮件,但是如果您想在邮件打开时显示一个图像而不是附加它怎么办?我记得,它可以用大约4行代码完成,但我不记得是如何实现的,而且我在MSDN站点上找不到它。编辑:我没有使用网站或任何东西,甚至没有使用IP地址。图像位于硬盘驱动器上。发送时,它们应该是邮件的一部分。所以,我想我可能想使用标签...但我不太确定,因为我的计算机没有广播。 最佳答案 经常提到的一种解决方案是将图像作为附件添加到邮件中,然后使用cid:引用在HTML邮件正文中引用它。但是,如果您改用LinkedResources集合
SmtpClient()允许您将附件添加到您的邮件,但是如果您想在邮件打开时显示一个图像而不是附加它怎么办?我记得,它可以用大约4行代码完成,但我不记得是如何实现的,而且我在MSDN站点上找不到它。编辑:我没有使用网站或任何东西,甚至没有使用IP地址。图像位于硬盘驱动器上。发送时,它们应该是邮件的一部分。所以,我想我可能想使用标签...但我不太确定,因为我的计算机没有广播。 最佳答案 经常提到的一种解决方案是将图像作为附件添加到邮件中,然后使用cid:引用在HTML邮件正文中引用它。但是,如果您改用LinkedResources集合
我看到了不同版本的构造函数,一种使用来自web.config的信息,一种指定主机,一种使用主机和端口。但是如何将用户名和密码设置为与web.config不同的值?我们遇到了内部smtp被一些高安全性客户端阻止的问题,我们想使用他们的smtp服务器,有没有办法从代码而不是web.config来做到这一点?在这种情况下,例如,如果数据库中没有可用的web.config凭据,我将如何使用?publicstaticvoidCreateTestMessage1(stringserver,intport){stringto="jane@contoso.com";stringfrom="ben@co
我看到了不同版本的构造函数,一种使用来自web.config的信息,一种指定主机,一种使用主机和端口。但是如何将用户名和密码设置为与web.config不同的值?我们遇到了内部smtp被一些高安全性客户端阻止的问题,我们想使用他们的smtp服务器,有没有办法从代码而不是web.config来做到这一点?在这种情况下,例如,如果数据库中没有可用的web.config凭据,我将如何使用?publicstaticvoidCreateTestMessage1(stringserver,intport){stringto="jane@contoso.com";stringfrom="ben@co
我不明白为什么这段代码不起作用。我收到一条错误消息,指出无法分配属性MailMessagemail=newMailMessage();SmtpClientclient=newSmtpClient();client.Port=25;client.DeliveryMethod=SmtpDeliveryMethod.Network;client.UseDefaultCredentials=false;client.Host="smtp.gmail.com";mail.To="user@hotmail.com";// 最佳答案 mail.T