Laden...

SMPT einfacher E-Mail Versand

Erstellt von laptor vor 15 Jahren Letzter Beitrag vor 14 Jahren 3.828 Views
laptor Themenstarter:in
95 Beiträge seit 2008
vor 15 Jahren
SMPT einfacher E-Mail Versand

Hallo,

Diesmal hab ich nicht nur eine programmiertechnische Frage. Ich habe folgenden Code gefunden:

using System;
using System.Net;
using System.Net.Mail;

class MainClass
{
    public static void Main(string[] args)
    {
        SmtpClient client = new SmtpClient("mail.somecompany.com", 25);

        client.Credentials =new NetworkCredential("user@somecompany.com", "password");

        using (MailMessage msg = new MailMessage())
        {
            msg.From = new MailAddress("author@aaa.com");
            msg.Subject = "HI";

            msg.Body = "A message";

            msg.Attachments.Add(new Attachment("c:\\test.txt", "text/plain"));
            msg.Attachments.Add(new Attachment("C:\\test.exe", "application/octet-stream"));

            msg.To.Add(new MailAddress("message to address"));
            client.Send(msg);
        }

    }
}

Jetzt stellt sich mir die Frage:

Geht das so einfach? Mit welchem E-Mail Adressen ist das möglich. Und ist Port 23 normalerweise schon geöffnet?
Und was bedeutet die Angabe: "smtp client?"

Gruss Thomas

Gespräch zweier Informatiker:
"Wie ist denn das Wetter bei euch?"
"Caps Lock."
"Hä?"
"Na ja, Shift ohne Ende!"

Gelöschter Account
vor 15 Jahren

ja, es geht so einfach. immerhin steht SMTP für Simple Mail Transfer Protokoll.

allerdings benötigt man hierfür einen smtp server (in diesem beispiel ist es "mail.somecompany.com"), der auch smtp aktiviert hat.....

laptor Themenstarter:in
95 Beiträge seit 2008
vor 15 Jahren

Ah ok, danke. Gibt es auch Möglichkeiten, bei denen man Mails verschicken kann, ohne dass man einen Server braucht, bzw. bei denen man einen öffentlichen benutzen kann?

Gespräch zweier Informatiker:
"Wie ist denn das Wetter bei euch?"
"Caps Lock."
"Hä?"
"Na ja, Shift ohne Ende!"

R
234 Beiträge seit 2007
vor 15 Jahren

Ah ok, danke. Gibt es auch Möglichkeiten, bei denen man Mails verschicken kann, ohne dass man einen Server braucht, bzw. bei denen man einen öffentlichen benutzen kann?

Eigentlich gibt es so gut wie keine offenen SMTP-Server mehr. Die meisten erfordern AFAIK eine vorherige Authentifizierung über POP. Du kannst natürlich selbst einen SMTP-Server aufsetzten, aber da kann ich dir auch nicht mehr weiterhelfen. 😉

laptor Themenstarter:in
95 Beiträge seit 2008
vor 15 Jahren

Ist es denn auch über den Provider möglich?

Gespräch zweier Informatiker:
"Wie ist denn das Wetter bei euch?"
"Caps Lock."
"Hä?"
"Na ja, Shift ohne Ende!"

328 Beiträge seit 2006
vor 15 Jahren

Wenn er Dir denn einen SMTP-Server zur Verfügung stellt, ja natürlich - warum auch nicht?

Robert Wachtel

http://blog.robertsoft.de

Gelöschter Account
vor 15 Jahren

du kannst auch pop3 nehmen. das ist nicht wirklich komplizierter und wird von jedem anbieter unterstützt.

238 Beiträge seit 2007
vor 15 Jahren

Huhu,
ist Pop3 denn nicht ausschließlich zum empfangen von eMails gedacht? Währe mir neu wenn man darüber auch senden könnte... 🤔

Gelöschter Account
vor 15 Jahren

ach ja richtig.. sry da hab ich was verwchselt. man kann über pop3 nur empfangen. wie ging da aber nochmal der authentifizierte mailversand? ich hab mal vor langer zeit mal sowas gemacht aber ich weiß nicht mehr wie und den code habe ich leider auch nciht mehr...

S
167 Beiträge seit 2008
vor 15 Jahren

Meinst du vielleicht etwas das Pop before SMTP oder SMTP after pop heißt.
Will heißen der SMTP server relayed (bis zu einem gewissen timeout) nur, wenn man sich zuvor per pop authentifiziert hat.

R
234 Beiträge seit 2007
vor 15 Jahren

wie ging da aber nochmal der authentifizierte mailversand?

Wie ich schon geschrieben habe, muss man sich vorher über POP authentifizieren, dann hat man eine "Session" und kanns ich dann per SMTP einloggen um Mails zu versenden. Zumindest war das früher an meiner Schule so, da haben wir uns immer per Telnet mit dem POP-Server verbunden, uns eingeloggt und dann per SMTP Mails mit gefakten Headern versendet. Das waren noch Zeiten. 😁

/Edit:

Meinst du vielleicht etwas das Pop before SMTP oder SMTP after pop heißt.

Genau.

238 Beiträge seit 2007
vor 15 Jahren

Zum Authentifizieren werden doch die Credentials angegeben:

client.Credentials =new NetworkCredential("user@somecompany.com", "password");

Hat bei mir immer so wunderbar mit dem Versenden geklappt oder steh ich aufm Schlauch?

S
167 Beiträge seit 2008
vor 15 Jahren

Erstmal die Frage, was willst du machen
a) von intern mails intern verschicken
b) mails an beliebige adressen verschicken

a) einfach an den lokalen smtp server im Netz. Da er für die domain/empfänger zuständig ist wird er die mail annehmen

b)

  1. wenn der lokale smtp server auch als internet mailserver arbeitet brauchst du hier einen account sodass du dich authentifizierst und er die mails relayed.
  2. wenn du/ihr den smtp server eures Providers/Hosters nutzt brauchst du dort einen Account. Abhängig vom Anbieter ist das auch mal die gleichen zugangsdaten wie ein ftp/pop account dort.
laptor Themenstarter:in
95 Beiträge seit 2008
vor 15 Jahren

Erstmal die Frage, was willst du machen
a) von intern mails intern verschicken
b) mails an beliebige adressen verschicken

Ich würde gerne Mails an beliebige Adressen verschicken.

b)

  1. wenn der lokale smtp server auch als internet mailserver arbeitet brauchst du hier einen account sodass du dich authentifizierst und er die mails relayed.
  2. wenn du/ihr den smtp server eures Providers/Hosters nutzt brauchst du dort einen Account. Abhängig vom Anbieter ist das auch mal die gleichen zugangsdaten wie ein ftp/pop account dort.

Danke für die Infos, werde mir das ganze mal näher ansehen.

Gruss Thomas

Gespräch zweier Informatiker:
"Wie ist denn das Wetter bei euch?"
"Caps Lock."
"Hä?"
"Na ja, Shift ohne Ende!"

X
92 Beiträge seit 2008
vor 14 Jahren
Bug Reporting

Wenn ich das richtig verstehe kann ich bei meinem EIGENEN MAILSERVER


using System;
using System.Net;
using System.Net.Mail;

class MainClass
{
    public static void Main(string[] args)
    {
        SmtpClient client = new SmtpClient("mail.crykillers.ch", 25);

        client.Credentials =new NetworkCredential("support@crykillers.ch", "xxxxxxxxxxx");

        using (MailMessage msg = new MailMessage())
        {
            msg.From = new MailAddress("xxxxx@xxxxx.xxx");
            msg.Subject = "Report Bug @ 25.06.2009 13:55";

            msg.Body = "[Bug/Error Message]";            

            msg.To.Add(new MailAddress("support@crykillers.ch"));
            client.Send(msg);
        }
}
}

Würde das funktionieren?

public Knowledge Learn_CSharp();

Gelöschter Account
vor 14 Jahren

du kannst bei jedem beliebigen mailserver, der smtp erlaubt, so deine nachrichten verschicken.

X
92 Beiträge seit 2008
vor 14 Jahren

du kannst bei jedem beliebigen mailserver, der smtp erlaubt, so deine nachrichten verschicken.

Ok danke!

public Knowledge Learn_CSharp();

B
293 Beiträge seit 2008
vor 14 Jahren

Als Beispiel. Wenn du dir bei www.arcor.de 'ne kostenlose Adresse holst, dann kannst du mit den Zugangsdaten Emails über deren SMTP ( mail.arcor.de ) versenden.

Bei Freenet wäre es ( mx.freenet.de ) . Für weitere Anbieter einfach googeln.

Wenn ich nicht hier bin, findest du mich auf code-bude.net.