2010-03-31 39 views
6

Sto cercando di inviare un e-mail di base attraverso Google Apps/Gmail utilizzando C# (System.Net.Mail/Framework 4) e sto avendo difficoltà a farlo.Invia email tramite Google Apps in C#

sto ricevendo la seguente eccezione: "L'operazione è scaduta."

Il mio codice è qui sotto:

  //Create the mail message 
      MailMessage mail = new MailMessage(); 

      //Set the addresses 
      mail.From = new MailAddress("[email protected]", "My Name"); 
      mail.To.Add(Email); 

      //Set the subject and bodycontent 
      mail.Subject = "Email Testing"; 
      mail.Body = "This is the body of the email"; 

      //Send the message using the SmtpClient 
      SmtpClient smtp = new SmtpClient(); 
      smtp.EnableSsl = true; 
      smtp.Send(mail); 

mio web.config ha le seguenti impostazioni:

 <smtp from="[email protected]" deliveryMethod="Network"> 
      <network host="smtp.gmail.com" 
       userName="[email protected]" 
       password="password" 
       port="587" /> 
     </smtp> 

Durante la mia risoluzione dei problemi che ho provato:

  • Usando il mio indirizzo Gmail personali così come un altro da un dominio ospitato tramite Google Apps.
  • utilizzando le porte 25, 465, e 587
  • rigido codifica le impostazioni di configurazione nel codice C# invece di utilizzare il web.config
  • Invio e telnet da più percorsi di rete per garantire il firewall/ISP non stava bloccando lo
  • Verificare che POP fosse abilitato nelle impostazioni GMail (secondo Google questo dovrebbe attivare la possibilità di inviare tramite SMTP)
  • Cambiare l'indirizzo di invio e di risposta per assicurarsi che corrisponda all'account (apparentemente una necessità di GMail).

Sono in grado di inviare e ricevere e-mail bene attraverso l'interfaccia GMail per entrambi i miei account di posta elettronica. Ho anche provato le impostazioni e le soluzioni offerte nell'interrogazione n. 757987 inutilmente.

+0

Qualcuno ha funzionato di recente con GMail? Penso che Google abbia modificato alcune impostazioni di sicurezza di recente e questo sta causando i miei sintomi. – NateReid

risposta

1

Il codice sembra a posto. Dici di aver provato Telneting. Eri davvero in grado di inviare una e-mail tramite telnet?

Si potrebbe provare a rimuovere

from="[email protected]" deliveryMethod="Network" 

dal tag smtp in quanto non sono necessari per quello che stai facendo.

EDIT:

Telnet normalmente consente di connettersi al server SMTP e inviare 16 byte di dati prima che possa buttare fuori (?). Se non ricevi risposte come these, allora è probabile che sia così.

Provare ad aprire la porta 587 sul firewall e vedere se è possibile interagire con il server smtp tramite telnet (EHLO, ECHO, ecc.).

+0

Grazie per i suggerimenti. Ho provato a rimuovere "from" e "deliverymethod" dal tag smtp e il tempo è ancora scaduto. Quando ho detto che ho provato il telneting nella mia domanda iniziale ... Ho provato a connettermi e collegato, ma quando provo a inviare una e-mail seguendo le istruzioni che ho trovato su "http://www.wikihow.com/Send-Email -Utando-Telnet "mi prende a calci dopo il primo comando. – NateReid

+1

Sembra che il tuo telnet non sia effettivamente connesso, nel qual caso probabilmente hai un problema di rete.Prova ad aprire la porta 587 sul tuo firewall – Joel

+0

Questo è quello che pensavo, ma secondo questa http://mail.google.com/support/bin/answer.py?hl=it&answer=78775 pagina da google sulla risoluzione dei problemi relativi alla posta (in particolare il ultimo punto elenco), sono connesso. – NateReid