Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# 如何通过GoogleGSuite作为应用程序发送电子邮件?_C#_Email_.net 5_Google Gsuite - Fatal编程技术网

C# 如何通过GoogleGSuite作为应用程序发送电子邮件?

C# 如何通过GoogleGSuite作为应用程序发送电子邮件?,c#,email,.net-5,google-gsuite,C#,Email,.net 5,Google Gsuite,我是一个有10个用户的GSuite帐户的管理员,我有一个简单的控制台应用程序,可以读取所有用户,删除每个用户的所有旧别名,然后为每个用户自动创建新别名。当添加新域或删除旧域时,需要这样做。因此,如果删除example.com并添加example.org,那么它将删除wim@example.com别名并添加wim@example.org别名只是一个简单的管理工具。 它需要向每个主地址和别名发送一封单独的电子邮件,因为用户可能有一个将重复电子邮件合并为单个电子邮件的电子邮件客户端。他们希望看到收到的

我是一个有10个用户的GSuite帐户的管理员,我有一个简单的控制台应用程序,可以读取所有用户,删除每个用户的所有旧别名,然后为每个用户自动创建新别名。当添加新域或删除旧域时,需要这样做。因此,如果删除example.com并添加example.org,那么它将删除wim@example.com别名并添加wim@example.org别名只是一个简单的管理工具。
它需要向每个主地址和别名发送一封单独的电子邮件,因为用户可能有一个将重复电子邮件合并为单个电子邮件的电子邮件客户端。他们希望看到收到的每个新别名的电子邮件,以确认其工作正常。(这就是为什么他们的别名出现在每封电子邮件的主题中。)
调整完所有别名后,我想向每个主地址和每个别名发送一封电子邮件。每封电子邮件都会有一个简短的主题,提及用户名和应该收到它的电子邮件地址。每封电子邮件的正文都会包含一些个人信息、主地址、新旧别名,如果每个别名已被添加或删除,则会发出通知。并简要说明删除别名的原因。这种情况并不经常发生,每个用户的别名也不超过25个,但仍有大约250封电子邮件需要发送。并快速发送。
现在,问题不在于电子邮件本身。只需创建一封邮件,将别名作为收件人加上正文,将我作为管理员作为发件人。新的SmtpClient组件,smtp.gmail.com作为TSL的主机和端口587,基本上如下所示:

using SmtpClient client = new SmtpClient("smtp.ziggo.nl", 587)
{
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(sender.Address, password)
};
但这只有在GSuite中允许安全性较差的应用程序时才起作用,我不想打开它。甚至不是暂时的。所以我需要一个解决办法。我一直在阅读有关使用应用程序密码的内容,但找不到如何设置密码。StackOverflow有很多类似的问题,但没有人解释如何设置此应用程序密码。我在Google的帮助文件和管理控制台中看到了一些关于设置Android和IOS应用程序的信息,但这只是一个简单的Win64控制台应用程序。它意味着在GSuite域中的任何更改后运行。
我有另一种方法,那就是使用我的提供商帐户,它工作正常,能够发送250封电子邮件。但谷歌似乎在限制我的电子邮件或引发其他问题,可能是因为它认为该应用程序不太安全。那么,如何将其转变为安全的控制台应用程序呢?

顺便说一句,如果不使用第三方组件,我可能会遗漏一些非常琐碎的东西…

首先,如果您使用的是
高级保护程序,则无法使用应用程序密码

我仍然可以使用应用程序密码吗

否。改为使用应用程序密码的应用程序 对于具有高级保护的用户,阻止了两步验证

从谷歌推荐的应用程序发送电子邮件
SMTP中继服务
适用于谷歌工作区

  • 登录到您的谷歌管理控制台

  • 从管理控制台主页,进入应用程序->谷歌工作区->Gmail->路由。 注意:您可以在应用程序->谷歌工作区->Gmail->高级设置中找到此设置

  • 在SMTP中继服务旁边,单击配置

  • 按照SMTP中继中的步骤设置SMTP中继服务:

  • 在您的设备或应用程序中,通过以下端口之一连接到smtp-relay.gmail.com:25、465或587

    如果你想使用应用程序密码,尽管不推荐,你可以这样做

  • 选择安全性

  • 在“登录谷歌”下,选择应用程序密码。您可能需要登录。如果您没有此选项,可能是因为:

    a。未为您的帐户设置两步验证

    b。仅为安全密钥设置两步验证

    c。您的帐户是通过工作、学校或其他组织开立的

    d。你打开了高级保护

  • 在底部,选择选择应用程序,然后选择您使用的应用程序->选择设备,然后选择您使用的设备->生成

  • 按照说明输入应用程序密码。应用程序密码是设备黄色栏中的16个字符的代码

  • 点击完成

  • 您可以像这样监视特定于应用程序的密码,请参阅“查看和撤销特定于应用程序的密码”: