我有一个网络应用,需要将自动发送的电子邮件发送到我们公司内的群组电子邮件地址。他们选择的地址恰好有一个&符号 - 格式类似于X-Y&Z@email.com
。
C#不想发送电子邮件。或者,似乎它发送电子邮件但它永远不会到达收件人的收件箱。我认为&符导致问题。
我试图以多种方式处理它:
"X-Y&Z@email.com"
@"X-Y&Z@email.com"
"X-Y%26Z@email.com"
"X-Y&Z@email.com" // I didn't expect this one to work, and it threw an exception
我们正在使用MailMessage
和SmtpClient
来处理自动发送的电子邮件。
我是否应该采取不同的措施来逃避&符号?
编辑:代码:
public static void GenerateEmail(string from, List<string> to, string subject, string htmlBody) {
MailMessage message = new MailMessage(from, to.Aggregate((i, j) => i + "," + j));
message.Subject = subject;
[some code to prettify htmlBody and set message.Body]
SmtpClient smtp = new SmtpClient([our company SMTP address]);
smtp.Send(message);
}
List<string> to = new List<string> { "X-Y&Z@email.com" };
GenerateEmail("from@email.com", to, "Subject", "Body")
代码很标准。我没有写它,我只是打电话给GenerateEmail
。我们的团队将其用于其他一些事情,其他事情也有效。
此外,使用这个带有&符号的奇怪电子邮件的小组已经使用了一段时间,并且过去没有任何问题。我认为这是我们第一次尝试向该地址发送自动电子邮件 - 通常只是其他用户通过Outlook发送内容。
SMTP服务器是我们的公司服务器,由我们的IT团队托管和运营。我无法访问服务器或日志。我们在这家公司使用的一切都是微软 - Outlook / ActiveDirectory / Exchange。