2010-11-06 15 views
6

Bana mı yoksa System.Net.Mail'de MailAddress sınıfında bir hata mı var?İçinde tire olan bir adrese nasıl bir e-posta gönderirim?

Bu kod her zaman excpetion atacağım:

MailMessage mail = new MailMessage(); 
mail.From = new MailAddress("[email protected]");  
mail.To.Add("[email protected]"); 

mail.Subject = "Test email" 
mail.IsBodyHtml = true; 
mail.Body = "<b>Does not work</b>"; 

//Connect to server and send message.    
SmtpClient smtp = new SmtpClient(); 
smtp.Host = "mailserver.me.com"; 
smtp.Send(mail); 

alıyorum istisna şudur:

System.FormatException: The specified string is not in the form required for an 
e-mail address. 

Ancak wiki göre, bir çizgi yerel bölümünde geçerli bir karakterdir.

Herkes e-posta adresinde bir çizgi ile birisine e-posta göndermek için System.Net.Mail sınıflarını kullanmanın bir yolunu biliyor mu?

+1

Bu bir kodlama sorunu mu? –

+0

@Mitch Wheat: iyi yorum. "Bunu başka birisini tekrarlayabilir mi?" Diye düşünüyordum. –

cevap

2

Emin misiniz? Benim için çalışır (ben senin kukla posta sunucumu benim gerçek posta sunucusu ile değiştirerek kod kesilmiş ve yapıştırın.) Sadece [email protected] mesajın teslim edilemez olduğunu teslim bildirimleri almak.

Bir istisna mesajınız olduğundan, sanırım bu gerçek. Muhtemelen bir kodlama sorunu mu?

+3

Yorumunuz için teşekkürler ... Biraz daha derinlikli görünmemi sağladı… DB'den okuduğum her e-posta adresi sonunda olduğu için hata oluştu. – thorkia

+0

@thorkia: Ah, tamam. İyi. Böyle bir şey olmak için _had_. – jason

0

Bu istisna, app.config dosyasının smtp öğesinin from özniteliğinde geçersiz bir e-posta adresine sahip olmaktan kaynaklanabilir. Her ne kadare-posta adresinin bir tire içerip içermediğine bakılmaksızın, herhangi bir istisnası atmak için e-posta göndermeye çalışacaktır. Yine de, app.config öğesinin mailSettings öğesinde ne belirtildiğini kontrol etmeye değer.

+0

app.config ayarlarının kod ayarlarını geçersiz kıldığını mı söylüyorsunuz (yukarıda @ thorkia kodlu olarak)? –

+0

@ Pure.Krome - Hayır, bunu söylemiyorum. Ancak, "gönderen" özelliğinde geçersiz bir e-posta adresi varsa, kod aracılığıyla görünür bir şekilde "geçerli" bir e-posta adresi belirlediyseniz bile istisna oluşturur. Yanlışlıkla, @thorkia'nın app.config dosyasındaki = ”me” den elde etmesi durumunda istisna oluşturmuş olurdu. Bu durumda, istisna, MailMessage nesnesinin oluşturulduğu anda atılmış olurdu; yani, kodun geçerli "e-posta adresinden" e-posta adresinin ayarlanmasından önce. –

İlgili konular