Laden...

Per SMTP Email versenden

Erstellt von der_Neuling vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.889 Views
D
der_Neuling Themenstarter:in
3 Beiträge seit 2013
vor 11 Jahren
Per SMTP Email versenden

Hallo Community,

ich möchte über ein kleines Programm Emails versenden und einen Screenshot anhängen.

 try
            {
             
                MailMessage message = new MailMessage();

                message.From = new MailAddress("absendeadresse@googlemail.com");
                message.To.Add("zieladresse@googlemail.com");
                message.Subject = "Betreff";
                message.Body = "Dies ist ein Test";

                SmtpClient client = new SmtpClient("smtp.googlemail.com", 456);

                client.Credentials = new NetworkCredential("absendeadresse@googlemail.com", "password");

                client.EnableSsl = true;

                client.Send(message);

                MessageBox.Show("Erfolreich gesendet !");
            }

            catch (SmtpException exception)
            {
                MessageBox.Show(exception.Message);
            }

des ist meine Email Sende Funktion

Soweit so gut,

nur funktioniert das nicht.

Folgender Fehler.

"The Operation has timed out"

Also funktioniert ja die Authentifizierung nicht ?

Was mach ich falsch ?

Danke !

1.696 Beiträge seit 2006
vor 11 Jahren

Hallo,

versuch mal mit:

client.DeliveryMethode = SmtpDeliveryMethod.Network;

und eventuell:

client.UseDefaultCredentials = false;

Grüße

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

D
der_Neuling Themenstarter:in
3 Beiträge seit 2013
vor 11 Jahren

Hallo geht leider immer noch nicht 😦

neuer Code:

try
            {

                MailMessage message = new MailMessage();

                message.From = new MailAddress("absendeadresse@googlemail.com");
                message.To.Add("zieladresse@googlemail.com");
                message.Subject = "Betreff";
                message.Body = "Dies ist ein Test";

                SmtpClient client = new SmtpClient("smtp.googlemail.com", 456);

                client.Credentials = new NetworkCredential("absendeadresse@googlemail.com", "password");

                client.EnableSsl = true;
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = false;

                client.Send(message);

                MessageBox.Show("Erfolreich gesendet !");
            }

            catch (SmtpException exception)
            {
                MessageBox.Show(exception.Message);
            }
S
417 Beiträge seit 2008
vor 11 Jahren

Hallo,

du hast da einen Zahlendreher in der Portnummer. Das müsste Port 465 und nicht 456 sein.

D
der_Neuling Themenstarter:in
3 Beiträge seit 2013
vor 11 Jahren

Stimmt, hattest recht.

hab des aber auch geaendert gehabt und es hat nix geaendert ?

Hab jetzt sogar den Code geaendert ?
Immer noch gleiche Fehlermeldung ?

    private void SendMail()
        {
            SmtpClient client = new SmtpClient();
            client.Port = 465;
            client.Host = "smtp.gmail.com";
            client.EnableSsl = true;
            client.Timeout = 10000;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential("absender@gmail.com", "passwort");

            MailMessage mm = new MailMessage("absender@gmail.com", "empfaenger@gmail.com", "test", "test");
            mm.BodyEncoding = UTF8Encoding.UTF8;
            mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

            client.Send(mm);
        }

S
417 Beiträge seit 2008
vor 11 Jahren

Probiers mal mit Port 587 (Sending email via GMail in .NET)