请检查下面的简单邮件方法。出于测试目的,我通过文件位置路径字符串手动附加了两个文件,正如你在mail.Attachments.Add(new Attachment(@"C:\Users...上看到的那样,但这种方法的问题是,当我运行它时,第一个附件是通过电子邮件附加的,但第二个附件总是丢失。我在这里做错了什么?有什么想法吗?提前感谢
public static bool SendEmail(string password, string from, string to, string cc, string subject, string[] attachedFiles, string body, string host, int port)
{
try
{
MailMessage mail = new MailMessage(from, to);
//foreach (var attachedFile in attachedFiles)
//{
// mail.Attachments.Add(new Attachment(attachedFile.ToString()));
//}
mail.Attachments.Add(new Attachment(@"C:\Users\liaka\Desktop\Jordan\FileMailer\FileMailer\Backlog_07_12_2018.xlsx"));
mail.Attachments.Add(new Attachment(@"C:\Users\liaka\Desktop\Jordan\FileMailer\FileMailer\test.txt"));
mail.Subject = subject;
mail.Body = body;
mail.CC.Add(cc);
var client = new SmtpClient(host, port)
{
Credentials = new NetworkCredential(from, password),
EnableSsl = true
};
client.Send(mail);
return true;
}
catch (Exception ex)
{
return false;
}
}发布于 2018-12-12 23:37:46
根据我的检查,您的MailMessage()方法使用情况看起来很好。我已经测试了自己,它在多个附加文件的情况下工作得很好。现在你唯一能检查的是-
1)您的文件确实存在于您提供的文件路径中。(使用windows文件资源管理器地址栏访问该路径进行检查)
2)你正在尝试附加的文件(特别是哪一个丢失了)不是空文件(因为当我运行测试时,空文件没有被附加,但是使用gmail SMTP进行测试)
如果上面的事情是正确的,那么我认为这可能是你的其他电子邮件设置的问题?
https://stackoverflow.com/questions/53746200
复制相似问题