通过gmail发送电子邮件,无需C#.Net代码中的密码

时间:2015-12-11 19:25:10

标签: c# asp.net .net

我有一个C#.Net代码,当我使用其中一个带有用户名和密码的gmail帐户时,通过gmail发送电子邮件:

        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.EnableSsl = true;
        smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtp.UseDefaultCredentials = false;
        smtp.Credentials = new NetworkCredential("test@example.com","Test12345");
        smtp.Timeout = 9000;
        smtp.Send(MMsg);

代码在服务器中,我们将只使用一个电子邮件ID,我们将使用的电子邮件ID将是其中一个部门使用的密码,我们不知道密码但他们希望提交问题的用户从他们的电子邮件ID中获取自动电子邮件。我尝试下面而不需要密码,但它没有工作:

       smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.EnableSsl = true;
        smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtp.UseDefaultCredentials = false;
        smtp.Credentials = new NetworkCredential("test@example.com","");
        smtp.Timeout = 9000;
        smtp.Send(MMsg);

我收到以下错误如果我使用没有密码的代码:

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at 

Line 120:            smtp.Credentials = new NetworkCredential("test@example.com", "Test12345");
Line 121:            smtp.Timeout = 9000;
Line 122:            smtp.Send(MMsg);

如何让我的代码工作,可以从test@example.com发送电子邮件,但不要求在我的代码中传递密码。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我知道如何做你想做的事,但你可能不会喜欢它。您可以在盒子上设置SMTP服务器,然后通过它发送电子邮件。那时你不需要凭证。但它也没有通过Gmail发送。