Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF生产应用程序不发送电子邮件_C#_Wpf_Email - Fatal编程技术网

C# WPF生产应用程序不发送电子邮件

C# WPF生产应用程序不发送电子邮件,c#,wpf,email,C#,Wpf,Email,我有一个应用程序,它只发送一封包含嵌入图像的HTML电子邮件。我使用LinkedResource来添加这些图像。当我从VisualStudio发送电子邮件时,一切都正常运行,没有错误,但是,当我从生产环境发送电子邮件时,它会说它已执行,但没有错误或电子邮件 为了完成此任务,我正在使用其他视图 SmtpClient clientDetails = new SmtpClient("Smtp.office365.com"); clientDetails.Port = 587;

我有一个应用程序,它只发送一封包含嵌入图像的HTML电子邮件。我使用LinkedResource来添加这些图像。当我从VisualStudio发送电子邮件时,一切都正常运行,没有错误,但是,当我从生产环境发送电子邮件时,它会说它已执行,但没有错误或电子邮件

为了完成此任务,我正在使用其他视图

SmtpClient clientDetails = new SmtpClient("Smtp.office365.com");
        clientDetails.Port = 587;
        clientDetails.Credentials = new NetworkCredential(username, password);
        clientDetails.EnableSsl = true;
MailMessage sendEmail = new MailMessage();
LinkedResource getOffice = new LinkedResource(@"..\..\PocketProductivityClasses\HTMLImages\GetOffice.jpg", MediaTypeNames.Image.Jpeg);

        getOffice.ContentId = "getOffice";

AlternateView avHtml = AlternateView.CreateAlternateViewFromString("SOMEHTMLHERE", null, MediaTypeNames.Text.Html);

avHtml.LinkedResources.Add(getOffice);
sendEmail.IsBodyHtml = true;
        sendEmail.AlternateViews.Add(avHtml);

        sendEmail.To.Add(sendToo);
        sendEmail.Subject = "Some Subject ";
        sendEmail.From = new MailAddress("Somewhere");

        //Send the email!
        clientDetails.Send(sendEmail);

这可能是为了快速收集所有细节而执行的吗?我有大约9个嵌入的图像

您在代码中所做的一切都是同步完成的,因此“执行太快而无法收集所有细节”不是问题。从客户端的角度来看,
Send
要么成功,要么抛出异常。如果未收到异常,则SMTP服务器接受了来自客户端的邮件,但未能将其传递给收件人。我会检查SMTP服务器上的日志是否有故障。您用于测试和生产的目标地址是否相同?这可能是邮件服务器上的中继限制或其他反垃圾邮件措施。嘿,布拉德利,是的,它们都是一样的。一个完整的内部网络,在测试时工作,但不在生产中。当我将“Send.EmailAlternateViews.Add(avHtml)”部分去掉并将严格的正文作为纯文本进行修改时,它就会工作。我只是不明白为什么将它发送给同一个收件人在生产环境中不起作用,而在visual studio中起作用。Send.EmailAlternateViews.Add(avHtml)失败,可能是因为avHtml无效。getOffice被添加到avHtml中。所以你确定图像的路径在PROD中是可访问的。嘿,Mukul,我相信我正在添加适当的路径。我把它分开放在上面列出的文件夹中。使用…\..\将目录更改为它。在生产环境看不到该文件夹或图像的情况下,发布可能会出现问题。但即使它没有看到图像,它也应该发送电子邮件,对吗?