Laden...

Email senden in C# mit Login

Erstellt von burkut vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.956 Views
B
burkut Themenstarter:in
170 Beiträge seit 2009
vor 13 Jahren
Email senden in C# mit Login

hallo,

Ich möchte einen eigenen Mailclient in c# erstellen. Dafür habe ich verschiedene Beispiele gesehen, in fast allen wurde es beschrieben, wie man einfach eine Email sendet. Aber ich habe nirgendwo gesehen, wie man in eigenen MailAccount einloggt und danach gewünschte emails sendet.

die frage ich wie logge ich mich ein?

ich habe z.B eine MailAccount bei 1und1.de

Account: xyz@1und1.de
PW:abc

ich freue mich auch, wenn jemand mir ein Beispiel-Link zeigt.

vielen Dank

Marek

A
118 Beiträge seit 2009
vor 13 Jahren

Dazu musst die Adresse des SMTP- Server und den entsprechenden Port in Erfahrung bringen. Damit erstellst du dann ein Objekt der Klasse SmtpClient. Den Rest kannst du mit Hilfe von System.Net.Mail leicht bewältigen.

Der Rest funktioniert genau gleich, wie mit allen anderen Emailprovidern.

Deine Angaben findest du in 1&1 Hilfe-Center - Kurzübersicht - die wichtigsten E-Mail-Einstellungen auf einen Blick.

Mfg
Aratar

//Edit: Link hinzugefügt

B
burkut Themenstarter:in
170 Beiträge seit 2009
vor 13 Jahren

Dazu musst die Adresse des SMTP- Server und den entsprechenden Port in Erfahrung bringen. Damit erstellst du dann ein Objekt der Klasse SmtpClient. Den Rest kannst du mit Hilfe von System.Net.Mail leicht bewältigen.

Der Rest funktioniert genau gleich, wie mit allen anderen Emailprovidern.

Den Client kann ich erstellen. Es geht bei mir um das Einloggen in meine Mail account, damit ich eine Mail senden kann. Mich intereesiert nur wie ich mit dem SMTP Client in meine Meine Mailaccount im SMTP-Server einloggen kann. oder verstehe ich es falsch?

ich meine, ich habe keine Eigenschaft oder Methode in SMTP Client Objeckt gesehen, sodass ich meine Nutzernamen und Passwort eingeben kann.

Mfg
Marek

1.029 Beiträge seit 2010
vor 13 Jahren

Hallo,

dafür gibt es die "SmtpClient.Credentials"...

Das steht jedoch so auch in nahezu jedem Beispiel...

Bei folgendem Beispiels sind die Paramter 6 & 7 anstatt des 5ten für User und Passwort zu verwenden:

http://www.codegod.de/WebAppCodeGod/send-email-systemnetmail-smtp-c-AID58.aspx#

Gruß
Achim

B
burkut Themenstarter:in
170 Beiträge seit 2009
vor 13 Jahren

ich kriege die Fehlermeldung "Failure Sending mail".

Ich habe vermutung, dass es an die "NetworkCredential" liegt. Ich meine damit, dass es dort beim einloggen schief geht. Die Verbindung zum Server muss es geben(weil ich mit dem Telnet versucht habe zu verbinden)


            // Include credentials if the server requires them. 
            if (!this.nutzer.Equals("") && !this.pw.Equals(""))
            {
                NetworkCredential n = new NetworkCredential(nutzer, pw,this.server);                
                SmtpMail.Credentials = n.; // CredentialCache.DefaultNetworkCredentials;    
                //SmtpMail.Credentials =   CredentialCache.DefaultNetworkCredentials;           
            }
            else
                SmtpMail.Credentials = CredentialCache.DefaultNetworkCredentials ;


was mache ich hier falsch? bitte um jeden Rat...

vielen Dank

Marek

Gelöschter Account
vor 13 Jahren

Bitte nicht einfach nur vermuten, wo der Fehler liegt, sondern die Fehlermeldung posten inkl Stacktrace. Dann können wir sehen wo der Fehler liegt 😉

B
burkut Themenstarter:in
170 Beiträge seit 2009
vor 13 Jahren

Fehlermeldung:
Exception bei Email senden. Failure sending mail. at System.Net.Mail.SmtpClient.Send(MailMessage message)
at DFI_Int_Net.DFI_Int_EMail.SendMail(String subjectText, String msgTxt)

Gelöschter Account
vor 13 Jahren

gibt es eine InnerException?

B
burkut Themenstarter:in
170 Beiträge seit 2009
vor 13 Jahren

Fehlermeldung:
Einstellungen:
Server: smtp.1und1.de
Port: 25
defaultCredentials: False

Message: Unable to send to all recipients.Stacktrace: at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at DFI_Int_Net.SI_SocketInterface.DFI_Int_EMail.SendMail(String subjectText, String
msgTxt)
innerException: System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: must be authenticated

Gelöschter Account
vor 13 Jahren

Der SMTP Server verlangt einen User und ein Passwort.

Beispiel:

SmtpClient smtpClient = new SmtpClient();
NetworkCredential basicCredential = new NetworkCredential("username", "password");
smtpClient.Credentials = basicCredential;
usw... 
B
burkut Themenstarter:in
170 Beiträge seit 2009
vor 13 Jahren

ich habe wie folgt gemacht. was ist darin falsch?


NetworkCredential n = new NetworkCredential(nutzer, pw,this.server);
                SmtpMail.Credentials = n.; // CredentialCache.DefaultNetworkCredentials;    

Gruss

Marek

Gelöschter Account
vor 13 Jahren
  1. der Codeschnippsel ist nicht mal compilierbar.
  2. Ist es aus dem Schnippsel nicht ersichtlich.

A: Username Falsch?
B: Password Falsch?
C: Server Falsch?

oh und du musst noch diese Zeile einfügen:

smtpClient.UseDefaultCredentials = false;
B
burkut Themenstarter:in
170 Beiträge seit 2009
vor 13 Jahren

Es ging jetzt, wenn ich folgendes mache. Obwohl ich nicht versteh warum es so funktioniert, im andren fall nicht.

NetworkCredential n = new NetworkCredential(nutzer, pw);
                SmtpMail.Credentials = n.; // CredentialCache.DefaultNetworkCredentials;

also ich habe ohne Domain versucht.

Danke JAck30lena.

Gruss