【问题标题】:sending email from smtp gmail in c#在 C# 中从 smtp gmail 发送电子邮件
【发布时间】:2016-09-02 07:00:21
【问题描述】:

我正在尝试从我的网络应用程序发送电子邮件。我也在使用smtp gmail。但由于某些原因,我无法发送邮件.. 我尝试过像 25,465,587 这样的端口号,但这些都不起作用....

public static void SendMail(string host, string senderName, string frmAddress, string toAddress, int port, string subject, string messageText)
    {
        String smtpHost, port1;

        smtpHost = ConfigurationManager.AppSettings["smtphost"].ToString();
        port1 = ConfigurationManager.AppSettings["smtpport"].ToString();

        SmtpClient mailClient = new SmtpClient(smtpHost, Convert.ToInt16(port1));
        mailClient.EnableSsl = true;


        NetworkCredential cred = new NetworkCredential();
        cred.UserName = ConfigurationManager.AppSettings["username"].ToString();
        cred.Password = ConfigurationManager.AppSettings["password"].ToString();
        mailClient.Credentials = cred;

        mailClient.UseDefaultCredentials = false;
        //mailClient.Credentials = cred;

        System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
        try
        {
            MailAddress fromAddress = new MailAddress(frmAddress, senderName);
            message.From = fromAddress;

            message.To.Add(toAddress);
            message.Subject = subject;

            message.IsBodyHtml = false;
            message.Body = messageText;

            mailClient.Send(message);
            //Response.Write("<script  language='javascript' type='text/javascript'>window.alert('Email Successfully Sent.');</script>");
        }
        catch
        {
            //Response.Write("<script  language='javascript' type='text/javascript'>window.alert('Send Email Failed '" + ex.Message + ");</script>");
        }
    }

调用这个方法:

protected void btnMail_Click1(object sender, EventArgs e)
    {
        string from = txtEmail.Text;
        string to = "my gmail id";
        string message = taMessage.InnerText;

        Global.SendMail(ConfigurationManager.AppSettings["smtphost"].ToString(), txtName.Text, from, to, Convert.ToInt32(ConfigurationManager.AppSettings["smtpport"]), "Enquiry", taMessage.InnerText);
    }

web.config 设置:

<appSettings>
    <add key="smtphost" value="smtp.gmail.com"/>
    <!--<add key="smtphost" value="103.231.41.229"/>-->
    <add key="smtpport" value="587"/>
    <!--<add key="port" value="25"/>-->
    <add key="username" value="my gmail id/>
    <add key="password" value="my password"/>
    <add key="From" value="my gmail id"/>
  </appSettings>

异常:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 身份验证

【问题讨论】:

标签: c# asp.net email smtp smtpclient


【解决方案1】:

这是一个安全问题,Gmail 默认情况下会阻止自定义应用程序访问您的邮件帐户。您可以将其设置为接受来自您的应用程序的登录。 登录到您的邮箱后,

https://www.google.com/settings/security/lesssecureapps

更新:

 msg.IsBodyHtml = true;

【讨论】:

  • 这个和 message.IsBodyHtml = true .
【解决方案2】:

试试这个:-

protected void Button1_Click(object sender, EventArgs e)
    {
        // body
        //subject
        //reciever id

        sendmail(recieverID, subject, body);
    }

发送邮件的方法

protected void sendmail(string reciever, string subject, string body)
    {
        string senderID = "sender email id";
        string pwd = "password ";
        string result = "Message Sent Successfully";
        try
        {
            SmtpClient smtpClient = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                Credentials = new System.Net.NetworkCredential(senderID, pwd),
                Timeout = 30000
            };
            MailMessage msg = new MailMessage(senderID, reciever, subject, body);
            msg.IsBodyHtml = true;
            smtpClient.Send(msg);
        }
        catch
        {
            result = "Error Sending Mail";
        }
       Response.Write(result );
    }

你也可以通过这个link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-09
    • 2015-10-22
    • 2014-10-19
    • 2011-08-18
    • 2022-01-21
    • 2014-12-24
    • 2016-10-25
    • 1970-01-01
    相关资源
    最近更新 更多