2013-09-03 13 views
7

Buona giornata a tutti. Ho scritto un progetto basato su asp.net mvc3. Parte del progetto si basa sull'invio di e-mail dalla mia applicazione.Il server SMTP non può inviare e-mail dall'hosting C# asp.net

public void SendEmail(string address, string subject, string message, int id) 
{ 
     string email = "[email protected]"; 
     string password = "somepassword"; 

     var loginInfo = new NetworkCredential(email, password); 
     var msg = new MailMessage(); 
     var smtpClient = new SmtpClient("smtp.gmail.com", 587); 

     msg.From = new MailAddress(email); 
     msg.To.Add(new MailAddress(address)); 
     msg.Subject = subject; 
     msg.Body = message; 
     msg.IsBodyHtml = true; 
     msg.Attachments.Add(new Attachment(Server.MapPath("~/Content/StudentPdf/student" + id + ".pdf"))); 

     smtpClient.EnableSsl = true; 
     smtpClient.UseDefaultCredentials = false; 
     smtpClient.Credentials = loginInfo; 
     smtpClient.Send(msg); 

} 

Questo codice funziona localmente, inviando perfettamente e-mail. Ma quando carico questo sull'host, viene visualizzato un errore

il server SMTP richiede una connessione protetta o il client non era autenticato. La risposta del server era: 5.5.1 Autenticazione richiesta.

Ho provato a cambiare la porta in 465, ma poi mi verrà un errore tcp_ip sull'hosting. E ancora: quando gli utenti provano a inviare email da questa casella di posta, google mi dice che attività sospette sull'applicazione. È perché il mio hosting in un paese e io sono in un altro paese.

Non ho idea di cosa devo fare dopo. Ho provato su google e ho trovato qualcosa sulla registrazione a 2 livelli, ma non capisco come ho bisogno di implementarlo nel mio metodo.

Sto usando l'hosting di arvixe. Forse altri hanno gli stessi problemi?

+1

Hai superato il limite giornaliero di email? L'SMTP di Google consente l'invio di un paio di centinaia di email ogni giorno. Quando lo superi, ottieni l'esatto messaggio di errore che hai descritto. –

+1

No, come posso superare il limite giornaliero se non riesco a inviare nessuna mail? E localmente tutto funziona perfettamente – BorHunter

+0

E tutte le mail che invio oggi localmente da questo account non superiore a 20 – BorHunter

risposta

1

Accedi al tuo account Gmail manualmente e consenti l'IP del tuo hosting con le impostazioni di Gmail. Ecco perché penso che funzioni perfettamente sul tuo locale. Lo stesso è successo con me e dopo averlo fatto non ci sono stati problemi.

+0

Per favore, potresti dirmi dove posso autorizzare ip? – BorHunter

+0

Quando è successo con me, gmail mi ha mostrato una barra rossa in alto dopo l'accesso dicendo che è stato effettuato un accesso non autorizzato, quando ho cliccato su quella barra mi ha portato alla pagina dove ha confermato se identifica questa attività (con l'IP), l'ho confermato, poi ha iniziato a funzionare bene. – user1512186

+0

Sì, faccio lo stesso, ma l'errore ha ancora – BorHunter

Problemi correlati