2014-02-05 65 views
0

好吧,我几乎知道有一个简单的解决方案为我的生活,虽然我找不到它。我想送通过邮件中的附件,现在我有它,这样它认为它会发送类似附件:从资源发送附件

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(文件对话框)不能为空它引发和错误,我尝试添加一个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 

任何想法?感谢你们。

回答

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); 

现在你不需要添加一个“神秘”的附件。

+0

是的,但如果没有要发送的附件,它会抛出FileNotFoundExpection不是吗? – Frank

+0

在哪行代码? –

+0

message.Attachments.Add(new Attachment(add_photo.FileName)); 它会尝试附加不在那里的东西,并且它会抛出FileNotFound异常。 – Frank