【问题标题】:Attach an image to mail [duplicate]将图像附加到邮件[重复]
【发布时间】:2013-08-18 16:52:24
【问题描述】:

我制作了一个使用以下代码捕获屏幕的小应用程序:

Bitmap b = new Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
Graphics g = Graphics.FromImage(b);
g.CopyFromScreen(Point.Empty,Point.Empty,Screen.PrimaryScreen.WorkingArea.Size);

现在我想将屏幕截图附加到邮件中。我已经编写了发送邮件的必要代码,我想要的只是附加图像。这是我用于邮件的代码:

MailMessage message = new MailMessage();
        message.From = new MailAddress("mail_address@gmail.com");
        message.Subject = "Subject";
        message.Body = "Body";
        message.To.Add("mail_address@gmail.com");
SmtpClient client = new SmtpClient();
        client.Credentials = new NetworkCredential("mail_address@gmail.com", "password");
        client.Host = "smtp.gmail.com";
        client.Port = 587;
        client.EnableSsl = true;
        client.Send(message);

你能帮我解决这个问题吗?谢谢。

【问题讨论】:

  • 请看一下这个问题,stackoverflow.com/q/2825950/1443529。您可以将Attachment 与接受Attachment(Stream, ContentType) 的构造函数一起使用
  • 是的,对于内联附件,您可以查看 @JeremyThompson 的参考资料。

标签: c# image email screenshot


【解决方案1】:

检查下面给出的答案。您需要将图像作为附件附加。希望对您有所帮助。

    MailMessage message = new MailMessage();
    message.From = new MailAddress("mail_address@gmail.com");
    message.Subject = "Subject";
    message.Body = "Body";
    message.To.Add("mail_address@gmail.com");
    string filepath = "C:\image.jpg";     // Image File Path 
    mail.Attachments.Add(new Attachment(filepath)); 

    SmtpClient client = new SmtpClient();
    client.Credentials = new NetworkCredential("mail_address@gmail.com", "password");
    client.Host = "smtp.gmail.com";
    client.Port = 587;
    client.EnableSsl = true;
    client.Send(message);

【讨论】:

  • 我知道如何使用其路径附加图像,但这是不同的。我想附加并发送图像而不将其保存在计算机上。我想直接从变量“b”附加它。无论如何,我找到了解决方案,我会在这里发布。
  • 这是我找到的灵魂:stackoverflow.com/questions/7529968/…。这正是我所要求的。
猜你喜欢
  • 1970-01-01
  • 2012-02-28
  • 1970-01-01
  • 2013-08-07
  • 2010-10-06
  • 2016-12-29
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多