从资源发送附件

时间:2014-02-05 17:14:25

标签: c# .net email system.net

好吧,我知道虽然我找不到,但对于我的生活有一个简单的解决方案。我希望通过邮件发送附件,现在我已经拥有它以便它认为它将发送一个附件,如:

message.To.Add(recieve + "@txt.att.net");
message.From = new MailAddress(user);
message.Subject = subject;
message.Body = body;
message.Attachments.Add(new Attachment(add_photo.FileName));
client.Send(message);

你知道但是如果add_photo(文件对话框)是emtpy它会抛出错误,我尝试为它添加一个catch语句,但程序几乎崩溃了(不像崩溃崩溃但功能明智)。

无论如何,我在想如果对话框中没有选择文件,我只会自己设置一个文件,一些非常小的甚至不重要的东西。所以我的资源中有一张名为'DD.png'的图片,如果对话框中没有任何文件,我想设置它?

这就是我所拥有的:

if (!string.IsNullOrEmpty(add_photo.FileName))
{
    add_photo.FileName = (Path.GetFullPath(Turbo_Bomber.Properties.Resources.DD.ToString()));
}
#region Providers
if (provider == "AT&T")
{
    message.To.Add(recieve + "@txt.att.net");
    message.From = new MailAddress(user);
    message.Subject = subject;
    message.Body = body;
    message.Attachments.Add(new Attachment(add_photo.FileName));
    client.Send(message);
} // etc

有什么想法吗?谢谢你们。

1 个答案:

答案 0 :(得分:0)

坚持你的第一次去,只需做一点改变:

message.To.Add(recieve + "@txt.att.net");
message.From = new MailAddress(user);
message.Subject = subject;
message.Body = body;
if (!string.IsNullOrEmpty(add_photo.FileName))
{
    message.Attachments.Add(new Attachment(add_photo.FileName));
}    
client.Send(message);

现在您不需要添加“神秘”附件。