PDA

View Full Version : [C#] Inviare mail


HipT
17-02-2008, 21:02
Ciao a tutti.
Devo inviare una mail da un programma in c# (non una mail complessa,un paio di righe anche senza formattazione).
In rete ho trovato questo modo. (http://blog.shareoffice.it/ivangentile/archive/2006/03/19/4434.aspx)
Mi sembra uno dei più semplici ma non so' cosa mettere su "smtp.server.com","user" e "password".
Praticamente lo dovrei usare per far segnalare all'utente eventuali bug quindi non occorre sia complessa.
Cosa dovrei mettere in quei campi?
Grazie.

Manbearpig
17-02-2008, 21:11
Visto che non sai cosa metterci probabilmente non ne hai bisogno. Secondo me puoi semplicemente tralasciare tutte le righe riguardanti UseDefaultCredentials. E cmq la pagina che hai indicato lo dice "ALCUNI server smtp richiedono l'autenticazione". La maggior parte non usano autenticazione ma cmq occhio che non puoi usarene uno qualsiasi, ma solo quello del tuo provider.

HipT
17-02-2008, 21:28
Visto che non sai cosa metterci probabilmente non ne hai bisogno. Secondo me puoi semplicemente tralasciare tutte le righe riguardanti UseDefaultCredentials. E cmq la pagina che hai indicato lo dice "ALCUNI server smtp richiedono l'autenticazione". La maggior parte non usano autenticazione ma cmq occhio che non puoi usarene uno qualsiasi, ma solo quello del tuo provider.
Ah,stavo già pensando di usare quello di gmail:fagiano: .
Cmq ho provato con quello del mio provider di alice,sia con tutti i cambi settati sia senza ma non funziona,il programma crasha.
Qualche suggerimento?
Ps:per la prova su smtp.server.com ho messo "out.alice.it" e user e password normalmente.

EDIT-------------

Ho usato questo codice e ora funziona.

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("mail di arrivo");
message.Subject = "Segnalazione Bug 'Learn Japan'";
message.From = new System.Net.Mail.MailAddress("mia mail alice");
message.Body = "errore";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("out.alice.it");
smtp.Send(message);



ma cmq occhio che non puoi usarene uno qualsiasi, ma solo quello del tuo provider.

Ma posso usare il server di alice o no? (mi sembra un po' come sfruttarli :mbe: )

Manbearpig
17-02-2008, 21:37
Ah,stavo già pensando di usare quello di gmail:fagiano: .
Cmq ho provato con quello del mio provider di alice,sia con tutti i cambi settati sia senza ma non funziona,il programma crasha.
Qualche suggerimento?
Ps:per la prova su smtp.server.com ho messo "out.alice.it" e user e password normalmente.

EDIT-------------

Ho usato questo codice e ora funziona.

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("mail di arrivo");
message.Subject = "Segnalazione Bug 'Learn Japan'";
message.From = new System.Net.Mail.MailAddress("mia mail alice");
message.Body = "errore";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("out.alice.it");
smtp.Send(message);



Ma posso usare il server di alice o no? (mi sembra un po' come sfruttarli :mbe: )

Allora gmail lo puoi usare ovunque, ma richiede l'autenticazione. Alice lo puoi usare solo se sei connesso con Alice. Inoltre non credo che Alice richieda username e password, quindi prova semplicemente a levare queste righe:

NetworkCredential oCredential = new NetworkCredential("username","password");
oSmtp.UseDefaultCredentials = false;
oSmtp.Credentials = oCredential;

HipT
17-02-2008, 21:44
Allora gmail lo puoi usare ovunque, ma richiede l'autenticazione. Alice lo puoi usare solo se sei connesso con Alice. Inoltre non credo che Alice richieda username e password, quindi prova semplicemente a levare queste righe:

NetworkCredential oCredential = new NetworkCredential("username","password");
oSmtp.UseDefaultCredentials = false;
oSmtp.Credentials = oCredential;

In che senso alice lo puoi usare solo se sei connesso con alice?
Cioè,io ho come provider telecom,alice.
L'utente che userà il software,anche se non ha alice,riuscirà lo stesso a spedire la mail? (sto' usando il mio indirizzo)
Comunque adesso provo un po' a vedere per usare Gmail,mi sarebbe anche più comodo.
Grazie.

Manbearpig
17-02-2008, 21:51
In che senso alice lo puoi usare solo se sei connesso con alice?
Cioè,io ho come provider telecom,alice.
L'utente che userà il software,anche se non ha alice,riuscirà lo stesso a spedire la mail? (sto' usando il mio indirizzo)
Comunque adesso provo un po' a vedere per usare Gmail,mi sarebbe anche più comodo.
Grazie.

No, con alice non funzionerebbe. Con gmail non so se fa altri controlli tipo sull'indirizzo del mittente. prova a mandare una mail con un indirizzo non gmail usando l'smtp di gmail.

HipT
17-02-2008, 22:44
No, con alice non funzionerebbe. Con gmail non so se fa altri controlli tipo sull'indirizzo del mittente. prova a mandare una mail con un indirizzo non gmail usando l'smtp di gmail.

Perfetto,sono riuscito a farla andare con gmail,bisognava abilitare l'SSL.
Grazie.

Manbearpig
17-02-2008, 22:57
Mmm ho appena letto che gmail setta automaticamente come mittente l'utente associato a username e password.

HipT
17-02-2008, 23:06
Mmm ho appena letto che gmail setta automaticamente come mittente l'utente associato a username e password.

Sì,infatti quando mi arriva la mail all'indirizzo di prova vedo che è il mio indirizzo:D ,ma basta che la invii,non mi serve sapere il nome dell'utente che mi segnala il bug.