标签: smtpclient

使用C#通过SMTP发送电子邮件

我无法理解为什么这段代码不起作用.我收到一条错误消息,指出无法分配属性

MailMessage mail = new MailMessage();
SmtpClient client = new SmtpClient();            
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
mail.To = "user@hotmail.com"; // <-- this one
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
client.Send(mail);
Run Code Online (Sandbox Code Playgroud)

c# email smtpclient

273
推荐指数
7
解决办法
72万
查看次数

如何在.NET中为SmtpClient对象设置用户名和密码?

我看到构造函数的不同版本,一个使用来自web.config的信息,一个指定主机,一个指定主机和端口.但是如何将用户名和密码设置为与web.config不同的名称?我们有一个问题,我们的内部smtp被一些高安全性客户端阻止,我们想使用他们的smtp服务器,有没有办法从代码而不是web.config执行此操作?

在这种情况下,如果没有可用的数据库,我将如何使用web.config凭据?

public static void CreateTestMessage1(string server, int port)
{
    string to = "jane@contoso.com";
    string from = "ben@contoso.com";
    string subject = "Using the new SMTP client.";
    string body = @"Using this new feature, you can send an e-mail message from an application very easily.";
    MailMessage message = new MailMessage(from, to, subject, body);
    SmtpClient client = new SmtpClient(server, port);
    // Credentials are necessary if the server requires the client 
    // to authenticate before it will send e-mail on the client's behalf. …
Run Code Online (Sandbox Code Playgroud)

c# smtpclient

148
推荐指数
3
解决办法
19万
查看次数

在.NET 4.0下使用SmtpClient,SendAsync和Dispose的最佳实践是什么

我对如何管理SmtpClient感到有点困惑,因为它是一次性的,特别是如果我使用SendAsync进行调用.据推测,在SendAsync完成之前,我不应该调用Dispose.但我应该打电话给它(例如,使用"使用").该方案是一个WCF服务,它在发出呼叫时定期发送电子邮件.大多数计算速度很快,但发送电子邮件可能需要一秒左右的时间,所以Async会更好.

我每次发邮件时都应该创建一个新的SmtpClient吗?我应该为整个WCF创建一个吗?救命!

更新如果它有所不同,则始终为用户自定义每封电子邮件.WCF托管在Azure上,Gmail用作邮件程序.

c# .net-4.0 smtpclient

109
推荐指数
5
解决办法
8万
查看次数

当Gmail启用双因素身份验证时,发送电子邮件失败

我正在使用我的Gmail帐户并smtp.gmail.com在我的网络应用程序中测试和发送电子邮件.当我的Gmail帐户启用双因素身份验证时,它无法发送电子邮件,但是当我关闭我的Gmail帐户的双因素身份验证时,该网络应用程序会成功发送电子邮件.感谢任何建议.

gmail smtp smtpclient two-factor-authentication

81
推荐指数
2
解决办法
3万
查看次数

如何通过Gmail使用简单的SMTP命令发送电子邮件?

出于教育目的,我需要使用SMTP的基本和简单规则通过SMTP服务器发送电子邮件.

我能够使用smtp4dev做到这一点.我telnet localhost 25和命令是:

在此输入图像描述

我想使用Gmail SMTP服务器做同样的事情.但是,它需要身份验证和TLS.我无法弄清楚如何为Gmail做到这一点.这是截图telnet smtp.gmail.com 587:

在此输入图像描述

我搜索并发现了很多链接,包括维基百科关于STARTTLS命令的文章.但是我无法使用TLS并使用命令行对Gmail的SMTP服务器进行身份验证(或者使用编程语言自行发送命令).有人可以帮忙吗?

email gmail smtp smtpclient smtp-auth

64
推荐指数
3
解决办法
18万
查看次数

使用SmtpClient通过C#发送HTML电子邮件

如何发送HTML电子邮件?我使用此答案中的代码发送电子邮件SmtpClient,但它们始终是纯文本,因此下面示例消息中的链接不是这样格式化的.

<p>Welcome to SiteName. To activate your account, visit this URL: <a href="http://SiteName.com/a?key=1234">http://SiteName.com/a?key=1234</a>.</p>
Run Code Online (Sandbox Code Playgroud)

如何在我发送的电子邮件中启用HTML?

c# asp.net email smtpclient

46
推荐指数
4
解决办法
6万
查看次数

c#SmtpClient类无法使用gmail发送电子邮件

我使用我的Gmail帐户发送电子邮件时遇到问题.我把头发拉了出来.

相同的设置在Thunderbird中运行良好.

这是代码.我也试过没有运气的465端口.

SmtpClient ss = new SmtpClient("smtp.gmail.com", 587);
ss.Credentials = new NetworkCredential("username", "pass");
ss.EnableSsl = true;
ss.Timeout = 10000;
ss.DeliveryMethod = SmtpDeliveryMethod.Network;
ss.UseDefaultCredentials = false;

MailMessage mm = new MailMessage("donotreply@domain.com", "destination@domain.com", "subject here", "my body");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
ss.Send(mm);
Run Code Online (Sandbox Code Playgroud)

这是错误

"SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应为:5.5.1需要身份验证.了解详情"

下面是堆栈跟踪

   at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
   at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
   at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at email_example.Program.Main(String[] args) in C:\Users\Vince\Documents\Visual Studio 2008\Projects\email example\email example\Program.cs:line 23 …
Run Code Online (Sandbox Code Playgroud)

c# gmail smtpclient

43
推荐指数
2
解决办法
6万
查看次数

C#使用SmtpClient以内联方式发送带有图像的邮件

SmtpClient()允许您在邮件中添加附件,但是如果您想在邮件打开时显示图像而不是附加它,该怎么办?

我记得,它可以使用大约4行代码完成,但我不记得我在MSDN网站上找不到它.

编辑:我没有使用网站或任何东西,甚至没有IP地址.图像位于硬盘上.发送时,它们应该是邮件的一部分.所以,我想我可能想要使用标签......但我不太确定,因为我的电脑没有广播.

c# inline smtpclient

38
推荐指数
3
解决办法
6万
查看次数

我们是否需要在使用后在C#中处置或终止线程?

我有以下代码:

        public static void Send(this MailMessage email)
    {
        if (!isInitialized)
            Initialize(false);
        //smtpClient.SendAsync(email, "");
        email.IsBodyHtml = true;

        Thread mailThread = new Thread(new ParameterizedThreadStart(
            (o) => 
            {
                var m = o as MailMessage;

                SmtpClient client= new SmtpClient("smtpserveraddress");
                client.Send(m);

            }));
        mailThread.Start(email);
Run Code Online (Sandbox Code Playgroud)

我希望邮件发送在后台完成而不会干扰主线程.它完蛋后我不在乎.

我是否需要以某种方式处理已创建线程(mailThread)的处理?或者它在完成工作后会自动处理?

请不要推荐SendAsync方法.我想手动创建线程.Mail.Send只是一个示例场景.

谢谢.

c# multithreading smtpclient

34
推荐指数
2
解决办法
4万
查看次数

使用TLS通过Google SMTP发送邮件

有没有人知道我可以使用任何好的库来通过谷歌的SMTP从Haskell发送邮件?我发现SMTPClientHaskellNet.前者不支持TLS,后者似乎没有使用TLS通过SMTP发送电子邮件的示例.有人设法做到了吗?

haskell smtp smtpclient

34
推荐指数
1
解决办法
1889
查看次数