繁体   English   中英

C# 以编程方式通过 Gmail 发送 Email

[英]C# Send Email via Gmail programatically

有谁知道我如何通过我的网络服务器(Azure Functions)将 email 发送到 gmail?

这是为了让客户通过网站与我们联系,因此它需要顺畅且没有挑战。

我已遵循本指南

https://developers.google.com/gmail/api/quickstart/do.net?authuser=1

在为 Azure 创建了我自己的 IDataStore 实现后,我痛苦地意识到这将尝试通过 web 浏览器进行挑战。

我们以前使用与此类似的方法使用 SMTP 进行此工作

如何使用MailKit发送email?

但这需要我们设置“允许不安全的应用程序”标志,该标志会在一段时间后自动关闭并导致我们的联系我们页面停止工作。

我想这应该可以使用我创建的 API 密钥,但我找不到任何关于如何仅使用 API 密钥发送 email 的文档。

Gmail api 路由使用谷歌 .net 客户端库。

如果您使用的是 gsuite 域 email 地址,那么您可以使用服务帐户。 如果您需要一些代码,请告诉我。

否则,您将需要在本地授权后运行您的代码,保留刷新令牌,然后设置您的 Idatastore 以使用您传递给它的刷新令牌。 只要定期使用刷新令牌,它就不会过期。 这并不是说它不能,但如果它失败了,它不应该需要稍微照顾一下,只需为它生成一个新的刷新令牌,它就会重新启动并运行。

smtp 路线

如果你想使用 smtp,你可能需要解决Xoauth2我不知道 C# 的任何开箱即用的东西,谷歌 .net 客户端库不适用于 smpt 服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM