Specificare l'indirizzo del mittente

mercoledì 20 gennaio 2010 - 13.09

Klaus-zanini Profilo | Senior Member

Ciao a tutti,
uso c# 2008 e ho provato a seguire un esempio scritto sul manuale della Hoepli (c# 2008 guida per lo sviluppatore)...
Di seguito il codice:

SmtpClient sc = new SmtpClient();
sc.Host = "smtp.mioprovider.it";
MailMessage mm = new MailMessage();
mm.Sender = new MailAddress("claudio@miprovider.it");
mm.To.Add(new MailAddress("claudio.zanini@gmail.com"));
sc.Send(mm);

Mi segnala sempre l'errore: "InvalidOperationException: specificare l'indirizzo del mittente".

Se scrivo:

SmtpClient sc = new SmtpClient();
sc.Host = "smtp.mioprovider.it";
MailAddress myfrom = new MailAddress("claudio@mioprovider.it");
MailAddress myto=new MailAddress("claudio.zanini@gmail.com");
MailMessage mm = new MailMessage(myfrom, myto);
sc.Send(mm);

Il programma funziona. A parte il fatto che non capisco il perchè...ma il mio problema principale è che voglio usare mm.To.Add per avere più destinatari e non voglio creare un'istanza MailMessage per ogni destinatario.
Avete qualche idea?

tonyexpo Profilo | Senior Member

>Ciao a tutti,

ciao :)

>uso c# 2008 e ho provato a seguire un esempio scritto sul manuale
>della Hoepli (c# 2008 guida per lo sviluppatore)...
>Di seguito il codice:
>
> SmtpClient sc = new SmtpClient();
> sc.Host = "smtp.mioprovider.it";
> MailMessage mm = new MailMessage();
>mm.Sender = new MailAddress("claudio@miprovider.it");
>mm.To.Add(new MailAddress("claudio.zanini@gmail.com"));
> sc.Send(mm);
>
>Mi segnala sempre l'errore: "InvalidOperationException: specificare
>l'indirizzo del mittente".
>
>Se scrivo:
>
> SmtpClient sc = new SmtpClient();
> sc.Host = "smtp.mioprovider.it";
>MailAddress myfrom = new MailAddress("claudio@mioprovider.it");
>MailAddress myto=new MailAddress("claudio.zanini@gmail.com");
> MailMessage mm = new MailMessage(myfrom, myto);
> sc.Send(mm);
>
>Il programma funziona. A parte il fatto che non capisco il perchè...ma
>il mio problema principale è che voglio usare mm.To.Add per avere
>più destinatari e non voglio creare un'istanza MailMessage per
>ogni destinatario.
>Avete qualche idea?


in ufficio non posso fare test pechè non ho accesso diretto ad internet... ma hai provato a fare semplicemente

SmtpClient sc = new SmtpClient();
sc.Host = "smtp.mioprovider.it";
MailAddress myfrom = new MailAddress("claudio@mioprovider.it");
MailAddress myto=new MailAddress("claudio.zanini@gmail.com");
MailMessage mm = new MailMessage(myfrom, null);
mm.To.Add(new MailAddress("claudio.zanini@gmail.com")); //quante volte vuoi
sc.Send(mm);



facci sapere ;)


Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos

Klaus-zanini Profilo | Senior Member

Ho trovato!!!

Sender non è l'indirizzo del mittente!!!

Nel primo caso usando solo Sender e non mettendo From era come non avere il mittente, mentre nel secondo caso usando l'istanza prendeva il From anziché il Sender.

In altre parole:

SmtpClient sc = new SmtpClient();
sc.Host = "smtp.mioprovider.it";
MailMessage mm = new MailMessage();
//mm.Sender = new MailAddress("claudio@miprovider.it");
mm.From= new MailAddress("claudio@miprovider.it");
mm.To.Add(new MailAddress("claudio.zanini@gmail.com"));
mm.To.Add(new MailAddress("claudio.zanini2@gmail.com"));
sc.Send(mm);


Qualcuno può allora spiegarmi a cosa serve Sender?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5