gpt4 book ai didi

c# - 在 C# Windows 应用程序中通过电子邮件发送附件

转载 作者:行者123 更新时间:2023-11-30 17:21:33 25 4
gpt4 key购买 nike

我们正在用 C# 开发 .Net Windows 应用程序用于商业发行。

目标

我想添加一项功能,允许用户通过应用程序将文件通过电子邮件发送给任何电子邮件收件人,而无需在他们的 PC 上安装电子邮件客户端,只需连接互联网即可。他们发送的电子邮件需要显示为来自他们(即他们的电子邮件地址在 FROM/REPLYTO 字段中),以便收件人可以识别电子邮件的来源并可以回复。

当前方法

我打算在 System.Net.Mail 中使用 MailMessage 类,但它需要一个 SMTP 服务器来发送电子邮件。问题是,我不希望用户必须配置任何东西才能从我们的应用程序发送电子邮件——我希望它由我们设置。换句话说,我想定义从哪个 SMTP 服务器发送电子邮件并在应用程序中对其进行硬编码。

我曾尝试将 Gmail 用作 SMTP 服务器,但有一个主要缺点 - Gmail 会自动重写您通过其 SMTP 网关发送到您的 Gmail 地址的任何电子邮件的“发件人”行,因此当我们对此进行测试时,即使尽管在 MailMessage 代码中我们将 FROM 属性设置为 myemail@mycompany.com,但当收到电子邮件时,From 字段显示为 mygmailemail@gmail.com

问题

  1. 如果要将此软件应用程序分发给不同网络环境中的许多用户,是否最好使用此方法?如果是这样,我的应用程序是否可以使用免费/公共(public) SMTP 服务器来实现此目的,从而允许最终用户定义 FROM 和 REPLYTO 字段?

  2. 我听说并非所有 ISP/组织都允许任意 SMTP 连接和/或如果发件人实现 SPF 记录,则邮件可能会被拒绝。这是否意味着我的预期方法可能并不总是奏效?

  3. 我可以使用任何其他常见或更稳定的方法来实现我最初的目标吗?

最佳答案

我认为您不能保证任何 smtp 服务器始终可用。例如gmail 的 smtp 在我的办公室被阻止了。

您最好创建一个他们将附件发送到的 Web 服务,然后通过您的邮件服务器路由它。

关于c# - 在 C# Windows 应用程序中通过电子邮件发送附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com