2016-03-26 5 views
0

Ich habe ein Formular erstellt, die eine Schaltfläche Senden und eine Richtextbox sowie Benutzername und Password und From und To Textfelder enthält.Erstellen Sie ein Formular für Benutzer zum Senden von E-Mails oder Gmail

Dies ist der Code in der Schaltfläche senden, aber leider wird das Programm geschlossen, wenn ich die Textfelder ausfülle und auf die Schaltfläche Senden klicke.

private void btnSend_Click(object sender, EventArgs e) 
{ 
    MailMessage mail = new MailMessage(from.Text, to.Text, Subject.Text, body.Text); 
     // SmtoServer = smtp.company.com; Ex: Gmail . smtp.gmail.com | yahoo - smtp.yahoo.com 
     SmtpClient client = new SmtpClient(smtp.Text); 
     client.Port = 587; 
     client.Credentials = new System.Net.NetworkCredential(username.Text,password.Text); 
     client.EnableSsl = true; 
     client.Send(mail); 
     MessageBox.Show("Your mail has been sent!\n Thanks for your email", 
         "Success", MessageBoxButtons.OK); 

} 

aktualisieren Ich habe versucht, alles, was Sie gesagt haben und ich sehe schon das Youtube-Video, aber Compiler zeigt mir Fehler in der Zeile 9:

client.Send(mail); 

und das ist der Fehler:

Eine nicht behandelte Ausnahme vom Typ 'System.Net.Mail.SmtpException' ist in System.dll

aufgetreten

Weitere Informationen: Der SMTP-Server erfordert eine sichere Verbindung oder der Client wurde nicht authentifiziert. Die Serverantwort lautete: 5.5.1 Authentifizierung erforderlich.

+1

Sie sollen den Rest des zu diesem Problem Code enthalten. –

+0

Das erste, was zu tun ist, ist eine Fehlerprüfung hinzuzufügen; [siehe hier zur Fehlerbehandlung beim Senden eines Anrufs] (https://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage%28v=vs.110%29.aspx)! Wenn es immer noch schließt Schritt durch Ihren Code mit dem Debugger, um zu sehen, welche Zeile das Problem ist .. - Ich habe versucht, Ihren Code mit meinen Daten und es funktioniert gut. Beachten Sie, dass Sie die Zeitüberschreitung des cient auf einige Sekunden reduzieren möchten, damit Sie nicht so lange warten müssen. – TaW

+0

1) Sie sollten die __error-Behandlung __ wirklich hinzufügen, damit sich das Programm ordnungsgemäß verhält, anstatt die Ausnahme auszulösen. Das wirst du auf jeden Fall brauchen! 2) Schauen Sie sich __all__ von [diesem Beitrag] an (http://stackoverflow.com/questions/20906077/gmail-error-the-smtp-server-requires-a-secure-connection-or-the-client-was- nicht), __nicht__ nur die angenommene Antwort! – TaW

Antwort

Verwandte Themen