我是一个有 10 个用户的 GSuite 帐户的管理员,我有一个简单的控制台应用程序,可以读取所有用户,删除每个用户的所有旧别名,然后为每个用户自动创建新别名。添加新域或删除旧域时需要这样做。因此,如果删除了 example.com 并添加了 example.org,那么它将删除 wim@example.com 别名并添加 wim@example.org 别名。只是一个简单的管理工具。
它需要向每个主要地址和别名发送单独的电子邮件,因为用户可能有一个电子邮件客户端,可以将重复的电子邮件合并为一个。他们希望看到他们收到的每个新别名的电子邮件,以确认其有效。(这就是为什么他们的别名出现在每封电子邮件的主题中。)
调整完所有别名后,我想向每个主地址和每个别名发送一封电子邮件。每封电子邮件都会有一个简短的主题,提及用户名和应该接收它的电子邮件地址。每封电子邮件的正文将包含一些个人信息、他们的主要地址、他们的旧别名和新别名,以及每个别名是否已添加或删除的通知。以及为什么别名已被删除的简短描述。这种情况并不经常发生,每个用户的别名不超过 25 个,但仍然需要发送大约 250 封电子邮件。并快速发送。
现在,问题不在于电子邮件本身。只需创建一条消息,将别名作为收件人和正文,我作为发件人作为管理员。新的 SmtpClient 组件,以 smtp.gmail.com 作为主机,端口 587 用于 TSL,基本上是这样的:
using SmtpClient client = new SmtpClient("smtp.ziggo.nl", 587)
{
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(sender.Address, password)
};
但这仅在我允许 GSuite 中安全性较低的应用程序时才有效,并且我不想打开它。暂时也不行。所以我需要一个解决方法。我一直在阅读有关使用应用程序密码的信息,但找不到如何设置它。Stack Overflow 有很多类似的问题,但没有一个解释如何设置这个应用程序密码。我在 Google 的帮助文件和管理控制台中看到了一些关于设置 Android 和 IOS 应用程序的信息,但这只是一个简单的 Win64 控制台应用程序。它旨在在 GSuite 域发生任何更改后运行。
我有另一种方法,即使用我的提供商帐户,它工作得很好并且能够发送 250 封电子邮件。但谷歌似乎在限制我的电子邮件或引起其他问题,可能是因为它认为应用程序不太安全。那么,如何将它变成一个安全的控制台应用程序呢?
顺便说一句,不使用第三方组件。我很可能错过了一些非常微不足道的事情......