【问题标题】:Send Email without attachments发送不带附件的电子邮件
【发布时间】:2014-04-23 16:24:57
【问题描述】:

我有一个问题,我知道如何发送带附件的电子邮件,但我想知道,如果我没有 screenshot.png,那么我想发送不带附件的电子邮件,我的代码如下

string email = "hammadptc93@gmail.com";
string pass = "mypassword";
NetworkCredential loginInfo = new NetworkCredential(email, pass);
MailMessage msg = new MailMessage();
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);

msg.From = new MailAddress(email);
msg.To.Add(new MailAddress("hammadptc93@gmail.com"));
msg.Body = value;
msg.Subject = Environment.UserName +"   " + 
              Environment.UserDomainName +"    "+ Environment.SystemDirectory ;
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment("screenshot.png");
msg.Attachments.Add(attachment);
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = loginInfo;

smtpClient.SendAsync(msg, "hammad");

【问题讨论】:

    标签: c# winforms smtp


    【解决方案1】:

    只需检查文件是否存在就足够了。

    if(File.Exists("screenshot.png"))
    {
       System.Net.Mail.Attachment attachment;
       attachment = new System.Net.Mail.Attachment("screenshot.png");
       msg.Attachments.Add(attachment);
    }
    

    【讨论】:

    • 它的帮助 :) 非常感谢
    【解决方案2】:

    使用File.Exists方法检查是否有附件。如果File.Exists 返回 false,请从以下几行中跳过(将它们包装在 if 语句中)

        System.Net.Mail.Attachment attachment;
        attachment = new System.Net.Mail.Attachment("screenshot.png");
        msg.Attachments.Add(attachment);
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-28
      • 2012-06-15
      • 2019-03-09
      • 2015-09-09
      • 1970-01-01
      相关资源
      最近更新 更多