gpt4 book ai didi

c# - 使用 C# 为通过 Gmail 发送的邮件设置不同的 "From"地址

转载 作者:太空宇宙 更新时间:2023-11-03 19:32:18 25 4
gpt4 key购买 nike

我正在使用一个使用 System.Net.Mail 的简单邮件发件人类。我需要更新我的应用程序,以便不同的用户可以通过它发送电子邮件(使用相同的 smtp 帐户),但“发件人”地址应该是导致发送电子邮件的用户的地址。我尝试设置 MailMessageFrom 属性,并将发件人地址发送到 MailMessage 的构造函数中,但这些都没有奏效。我确信我遗漏了一些简单的东西或者不理解邮件 API 的工作原理。谁能帮忙?

这里是我的 MailSender 类,它基本上包装了 MailMessageNetworkCredentialSmtpClient 以提供一个简单的邮件发送接口(interface)。

class MailSender
{
private NetworkCredential credential;
private String SenderAddress;
private SmtpClient client;

public MailSender(String ServerURL, String account, String password, String FromAddress = null, int port = -1, bool UseSSL = true)
{
if (port > 0)
{
client = new SmtpClient(ServerURL, port);
}
else
{
client = new SmtpClient(ServerURL);
}
credential = new NetworkCredential(account, password);
client.UseDefaultCredentials = false;
client.EnableSsl = UseSSL;
client.Credentials = credential;

if (FromAddress != null)
{
SenderAddress = FromAddress;
}
else
{
SenderAddress = account;
}
}

public bool SendMessage(String to, String subject, String body)
{
try
{
MailMessage message = new MailMessage(SenderAddress, to, subject, body);
message.From = new MailAddress(SenderAddress, "tester");

message.IsBodyHtml = true;
client.Send(message);
}
catch
{
return false;
}
return true;
}
}

最佳答案

我刚刚通过使用另一台 SMTP 服务器进行测试找到了答案。这实际上是由于 GMail 不允许任何其他发件人地址造成的。这适用于其他 SMTP 服务器。

感谢 leppie、Mikael Svenson 和 smirkingman 的建议。

关于c# - 使用 C# 为通过 Gmail 发送的邮件设置不同的 "From"地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4243300/

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