使用SmtpClient从Gmail发送电子邮件 [英] Using SmtpClient to send an email from Gmail

查看:287
本文介绍了使用SmtpClient从Gmail发送电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图连接到我的Gmail帐户通过 SmtpClient ,但它似乎不是应该工作。我指定端口465,启用SSL和定义的一切,但它需要像2分钟,然后只是显示一些错误未发送邮件。



我在做什么?错在这里。

 
{
味精MAILMESSAGE新= MAILMESSAGE();
msg.From =新的MailAddress(myemail@gmail.com);
msg.To.Add(新MailAddress(theiremil@email.com));
msg.Subject =这是主题;
msg.Body =这是身体;
SmtpClient SC =新SmtpClient(smtp.gmail.com,465);
sc.EnableSsl = TRUE;
sc.UseDefaultCredentials = FALSE;
sc.Credentials =新的NetworkCredential(myemail@gmail.com,传);
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
sc.Send(MSG);
erroremail.Text =电子邮件已成功发送。
}
赶上(异常前)
{
erroremail.Text =错误:+ ex.Message;
}


解决方案

您需要允许少安全应用程序:



https://support.google.com /帐号/接听/ 6010255



代码:

 
{
新SmtpClient
{
主机=Smtp.Gmail.com,
端口= 587,
EnableSsl = TRUE,
超时= 10000,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials =假,
=证书新的NetworkCredential(MyMail@Gmail.com,MyPassword输入)
} 。发送(MAILMESSAGE新{从=新的MailAddress(MyMail@Gmail.com,MYNAME),为= {TheirMail@Mail.com},主题=主题,身体=消息,BodyEncoding = Encoding.UTF8});
erroremail.Text =电子邮件已成功发送。
}
赶上(异常前)
{
erroremail.Text =错误:+ ex.Message;
}


I'm trying to connect to my Gmail account through SmtpClient but it seems to not work as should. I specify port 465, enable SSL and define everything, but it takes like 2 minutes and then just shows some error that the message wasn't sent.

What am I doing wrong here?

try
{
    MailMessage msg = new MailMessage();
    msg.From = new MailAddress("myemail@gmail.com);
    msg.To.Add(new MailAddress("theiremil@email.com));
    msg.Subject = "This is the subject";
    msg.Body = "This is the body";
    SmtpClient sc = new SmtpClient("smtp.gmail.com", 465);
    sc.EnableSsl = true;
    sc.UseDefaultCredentials = false;
    sc.Credentials = new NetworkCredential("myemail@gmail.com", "pass");
    sc.DeliveryMethod = SmtpDeliveryMethod.Network;
    sc.Send(msg);
    erroremail.Text = "Email has been sent successfully.";
}
catch (Exception ex)
{
    erroremail.Text = "ERROR: " + ex.Message;
}

解决方案

You need to allow "less secure apps":

https://support.google.com/accounts/answer/6010255

Code:

try
{
    new SmtpClient
    {
        Host = "Smtp.Gmail.com",
        Port = 587,
        EnableSsl = true,
        Timeout = 10000,
        DeliveryMethod = SmtpDeliveryMethod.Network,
        UseDefaultCredentials = false,
        Credentials = new NetworkCredential("MyMail@Gmail.com", "MyPassword")
    }.Send(new MailMessage {From = new MailAddress("MyMail@Gmail.com", "MyName"), To = {"TheirMail@Mail.com"}, Subject = "Subject", Body = "Message", BodyEncoding = Encoding.UTF8});
    erroremail.Text = "Email has been sent successfully.";
}
catch (Exception ex)
{
    erroremail.Text = "ERROR: " + ex.Message;
}

这篇关于使用SmtpClient从Gmail发送电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆