SMTP Mail-Versand

Masl

Mitglied
Hallo zusammen,

ich hab genau das gleich Problem und leider kann ich damit nichts anfangen:

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "passwort");

Ich versuche auch eine Mail über dem SMTP von GMX zu versenden, und bekomme immer die gleiche FehlerMessage wie oben schon beschrieben, auch mit diesem Code...

kann mir einer sagen was ich da eintippen muss?
ich bekomme die gleiche InnerException wie magic_halli, auch mit Authentifizierung?
 
Zuletzt bearbeitet:

Christian Kusmanow

Erfahrenes Mitglied
Hallo Masl!

So ich habe den 3.Post nochmal ein bissle abgeändert sodas man dan code sofort für gmx verwenden kann.
Es muss gehen, ich hab den code grad nochmal explizit ausprobiert.
Überprüfe bitte deine Logindaten!

MfG, cosmo
 

Masl

Mitglied
So ich habe mein Problem jetzt auch gelöst.
Lag nicht an meinem Code, sondern an einem gesperrtem SMTP-Port, was ich dummerweise nicht wusste.
Für Leute die es brauchen können, hier noch mein Code. Ich habe das ganze über den SMTP von GMail gemacht.

Code:
public void SendSmtpMail()
		{
			
				// Erstellen einer neuen MailMessage
				MailMessage mail = new MailMessage();
				mail.To = "xxx@xxx.de";
				mail.From = "xxx@gmail.com";
				mail.Subject = "this is a test email.";
				mail.Body = "this is my test email body";

				SmtpMail.SmtpServer = "smtp.gmail.com";  //verwendeter SMTP-Server

				mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");				//basic authentication
				mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "xxx@gmail.com");	//set your username here
				mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "xxx");				//set your password here
				mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "465");				//set SMTP-Port	
				mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");					//set SSL Use
			
			try
			{
				SmtpMail.Send(mail);
			}

			catch(Exception ex)
			{
				MessageBox.Show(ex.InnerException.Message);
				MessageBox.Show(ex.Message.ToString());
			}
 

Alexander Schuc

crazy-weasel
cosmochaosmaker hat gesagt.:
Jaja, Du musst nicht...

Ich hab's gefunden und könnt mir an den Kopf greifen. :p
Hätt ich blos nicht auf Google sondern gleich auf TheCodeProject nachgeschaut. :rolleyes: Irgendwann ist meine Startseite TheCodeProject.... :D
Da gibt's einen Artikel über SMTP sammt Links wo man die CDOSYS Schema's nachlesen kann.
SMTP Authentication using System.Web.Mail (CDOSYS)

MfG, cosmo

Bist schonmal meinem Link zu dieser .. moment, ich zitiere
Im übrigens gibts unter http://www.systemwebmail.com eine riesige FAQ zum Mailversand unter .net.
gefolgt, oder hast mein Snippet gelesen?!

Naja.. egal.
 

Christian Kusmanow

Erfahrenes Mitglied
Oh mann, auch das noch.
Natürlich habe ich dein Snipped gelesen. Ich hab es sogar umgesetzt wie Du sehen kannst. :rolleyes:
Mir fehlten noch ein paar Optionen für 1und1, welche ich aber nicht auf http://www.systemwebmail.com gefunden hab.
Mann mann mann, diese besch. FAQ darunter hab ich jetzt total übersehen.

Schön das Du dich auch mal wieder in's Forum verirrst.
 

Reverent

Erfahrenes Mitglied
Hallo Ihr lieben Liebenden :),
also ich versuche mich gerade auch an dem E-Mail Versand aber da wo bei euch
System.Web.Mail. usw steht, finde ich bei mir kein .Mail :-(
habt Ihr vielleicht eine Lösung ?

Hat sich schon Erledigt ich habe es gefunden.

Ja diese Problem hat sich gelöst aber es tauchen immer noch mehr Problebe auf und zwar:

Ich habe ein GMX Konto und da habe ich mir den Code hier mal etwas näher angeschaut

private void Page_Load(object sender, System.EventArgs e)
{
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "Some text goes here";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "my_username_here"); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "super_secret"); //set your password here

SmtpMail.SmtpServer = "mail.mycompany.com"; //your real server goes here
SmtpMail.Send( mail );

aber er bringt immer noch den Fehler mit dem CDO Objekt.
Und was bedeuten die xxx die in mail.Fields.Add("xxx","y"); stehen?

MfG
Markus
 
Zuletzt bearbeitet:

immnn

Mitglied
Hallo,

ich habe hier das Problem dass der Compiler mir sagt es würde den Namespace System.Web.Mail nicht existieren. Habe die Visual C# 2005 Beta 2 mit dem .Net Framework 2.0 drauf, doch selbst mit Visual Studio 2003 findet der Compiler den Namespace .Mail nicht.

[Edit] Das .Net Team hat wohl einiges geändert beim .Net Framework 2.0 und so wurden auch die Klassen unter System.Web.Mail in System.Net.Mail verschoben und editiert. Werd mich mal dahinter klemmen und mal was versuchen ;)

[edit 2]... soweit alles gut. Hier mal das was ich bereits zustande bekommen habe:
Code:
using System.Net.Mail;
... 
       public void senden(string from, string to,
                     string subject, string body)
        {
            string mailServerName = "mail.gmx.com";
            using (MailMessage message = new MailMessage(from,
             to, subject, body))
            {
                message.IsBodyHtml = true;
                SmtpClient mailClient = new SmtpClient();
                mailClient.Host = mailServerName;
                mailClient.UseDefaultCredentials = true;
                mailClient.DeliveryMethod =
                   SmtpDeliveryMethod.PickupDirectoryFromIis;
                
                mailClient.Send(message);
            }
        }
...

Das letzte problem, was noch zu überwinden ist, wie ich mich an einem SMTP Server anmelde. Wenn Jemand eine Lösung findet, wäre ich ihm sehr dankbar :)

[Letzter Edit für heute]
Hab das ganze nun dadurch gelöst, das der Benutzer sich seinen eigenen SMTP Server aufsetzen muss. Dazu kann er den von M$ integrierte IIS Dienst verwenden.
Folgedner Code reicht aus um eine eMail zu versenden:

Code:
SmtpClient email = new SmtpClient("localhost");
email.Send("From", "To", "Subject","Text");
 
Zuletzt bearbeitet:

coolazid

Grünschnabel
Hi Leute,

ich versuche auch gerade mit C# E-Mails zu versenden.
Klappt soweit auch, jedoch wird die E-Mail nicht von der von mir angegebenen Adresse verschickt, sondern irgendwie von der als standard eingerichteten E-Mail :confused: !

Mein Code
Code:
MailMessage mail = new MailMessage();
	mail.To = "email@web.de";
	mail.From = "email@t-online.de";
	mail.Subject = "Betreff";
	mail.Body = "Text Text Text";

	mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");	//basic authentication
	mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "mein benutzername"); //set your username here
	mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "mein passwort");	//set your password here

	SmtpMail.SmtpServer = "smtp.t-online.de";  //your real server goes here
	SmtpMail.Send( mail );

Das Verschicken der E-Mail klappt, jedoch wenn ich meine E-Mails bei web.de prüfe kommt die E-Mail an, aber nicht von meiner t-online E-Mail, sondern von einer anderen t-online E-Mail.

Hat vllt jemand ne Ahnung woran das liegt und wie man das übergehen kann?

MfG
Alex
 

Christian Kusmanow

Erfahrenes Mitglied
Hallo coolazid!

Vielleicht hat Dir ja jemand eine Email geschickt. :D
Nee, Spaß.

Schau Dir nochmal den [post=991252]3. Post[/post] und den [post=1031265]13. Post[/post] an.
Da gibt es eigentlich nicht viel falsch zu machen.

MfG, cosmo