尝试在System.dll中使用smtp'System.Net.Mail.SmtpException'发送电子邮件时出错

时间:2019-02-26 03:27:11

标签: c# smtp gmail

尝试使用c#中的smpt协议发送密码恢复电子邮件,由于某种原因,我似乎无法正确处理它。我非常感谢有人可以提供帮助。 这就是我所依赖的on。这是代码:

enter cpublic void sendEmailWithPass( string username , string email , string password)
    {
        try
        {
            var fromAddress = new MailAddress("xxx", "xxx");
            var toAddress = new MailAddress(email, "CLIENT!");
            const string fromPassword = "xxx";
            string subject = "recover password";
            string body = "heloo! \n according to your request your password is: \n " + password;
            var smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
            };
            using (var message = new MailMessage(fromAddress, toAddress)
            { Subject = subject, Body = body })
            { smtp.Send(message); }
            SendMessage("&answerForgotRequest&true!");
        }
        catch
        {
            SendMessage("&answerForgotRequest&failed!");
        }            
    }

此外,这是与错误相对应的行

 public void answerServer(string message)
    {
        string ans = message.Split('&')[2];

 if (ans.StartsWith("failed!"))
        {
            MessageBox.Show("an error was occured while trying sending the mail");
        }

]

1 个答案:

答案 0 :(得分:0)

由于您正为此而苦苦挣扎,因此至少需要尝试来抓住exception,因为扔掉它,没有人能为您提供帮助

try
{
    // email code
}
catch(Exception ex)
{
    // breakpoint this line (yes look up online how to do it)
    MessageBox.Show(Ex.ToString());
    // write it to file if you need to
    //File.WriteAllText("someFileName.Txt",Ex.ToString() );
} 

然后,当您遇到实际的异常时,请粘贴(或提出一个新问题),以便我们知道发生了什么。

您可能也想看看这些

Exception Handling (C# Programming Guide)

Navigate through code with the Visual Studio debugger