Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于发送gmail邮件的asp.net代码_C#_Asp.net_Asp.net Mvc_Gmail_Mongodb .net Driver - Fatal编程技术网

C# 用于发送gmail邮件的asp.net代码

C# 用于发送gmail邮件的asp.net代码,c#,asp.net,asp.net-mvc,gmail,mongodb-.net-driver,C#,Asp.net,Asp.net Mvc,Gmail,Mongodb .net Driver,通过Gmail发送邮件的网络代码不起作用了,比如打开了不太安全的应用程序、强大的密码、有无应用程序密码、有无两步验证 编码:- { var fromAddress = new MailAddress("doctor@gmail.com"); var fromPassword = "idntcare"; var toAddress = new MailAddress("thevarghese@gmail.com"); string s

通过Gmail发送邮件的网络代码不起作用了,比如打开了不太安全的应用程序、强大的密码、有无应用程序密码、有无两步验证

编码:-

{
    var fromAddress = new MailAddress("doctor@gmail.com");    
    var fromPassword = "idntcare";        
    var toAddress = new MailAddress("thevarghese@gmail.com");    
    string subject = "subject";    
    string body = "body";    
    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient
    {
         Host = "smtp.gmail.com",
         Port = 587,
         EnableSsl = true,
         DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
         UseDefaultCredentials = false,
         Credentials = new NetworkCredential(fromAddress.Address, fromPassword)

    };

    using (var message = new MailMessage(fromAddress, toAddress)
    {
         Subject = subject,
         Body = body
    })    
    smtp.Send(message);    
}
试着这样做

using (var message = new MailMessage(fromAddress, toAddress)
{
     Subject = subject,
     Body = body
     smtp.Send(message);
})    
或者试试这个

using (MailMessage mm = new MailMessage(from, emailTo))
{
    var mailAddress = new MailAddress("address", "name for id");
    mm.From = mailAddress;
    mm.Subject = title;
    mm.Body = HttpUtility.HtmlDecode(body);
    mm.IsBodyHtml = true;
    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
    smtp.EnableSsl = true;
    NetworkCredential NetworkCred = new NetworkCredential(from, password);
    smtp.UseDefaultCredentials = false;
    smtp.Credentials = NetworkCred;
    smtp.Send(mm);
}
试试这个

MailMessage Msg = new MailMessage();
// Sender e-mail address.
Msg.From = new MailAddress("doctor@gmail.com");
// Recipient e-mail address.
Msg.To.Add("thevarghese@gmail.com");
Msg.Subject ="subject";
Msg.Body = "body";
// your remote SMTP server IP.
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials=new System.Net.NetworkCredential("user name","password");
smtp.EnableSsl = true;
smtp.Send(Msg);

试试这些,您可以使用端口号587或25。

您所说的“它不工作”是什么意思?有什么问题?你有什么例外?我还发现代码中有两个问题:忘记了
在使用代码之后。您不能在
using
块之外使用
message
。一旦执行,using(var message……….)将被释放。因此,smtp.Send(message)无法发送已处理的邮件。smtp服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.5.1需要身份验证。我收到相同错误:SMTP服务器需要安全连接或客户端未经过身份验证。服务器的响应是:5.5.1身份验证要求我不明白为什么它不适合您。点击这个链接。我收到相同的错误:SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.5.1需要身份验证我收到相同错误:SMTP服务器需要安全连接或客户端未经过身份验证。服务器响应为:5.5.1需要身份验证是的,您需要更改gmail中用于发送的某些设置(fromAddress)。请检查此链接
string fromAddress ="doctor@gmail.com";    
string fromPassword = "idntcare";        
string toAddress = "thevarghese@gmail.com"; 
using (MailMessage mm = new MailMessage(fromAddress, toAddress))
    {
        mm.Subject = subject;
        mm.Body = body;

        //attachment
        if (fuAttachment.HasFile)
        {
            string FileName = Path.GetFileName(fuAttachment.PostedFile.FileName);
            mm.Attachments.Add(new Attachment(fuAttachment.PostedFile.InputStream, FileName));
        }
        mm.IsBodyHtml = true;

        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();

        smtp.Host = "smtp.gmail.com";
        smtp.EnableSsl = true;

        NetworkCredential NetworkCred = new NetworkCredential(email, password);
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = NetworkCred;
        smtp.Port = 587;
        //smtp.Port = 25;
        smtp.Send(mm);
        ClientScript.RegisterStartupScript(GetType(), "alert", "alert('Email sent.');", true);
    }