![]() |
eMail-Versand
Hallo,
ich habe mal eine Frage zu einem schon oft hier aufgeführten Thema, welches aber nie gelöst wurde. Ich möchte gerne, das mein Programm mir eine Status-eMail schickt. Der Haken dabei ist aber, das ich kein externes Programm (Also MAPI fällt weg) verwenden will / kann. Auch mit idSMTP ist es Mist, da man dort Login-Daten nutzen muss. Ich hatte mir das so in der Art von MadExcept gedacht, dort arbeitet das Tools ja auch als eigener SMTP-Server und sendet die Mail aus dem Programm an den Programmierer incl. Bug-Bericht. Aber wie setze ich sowas um? Im eigenen Programm einen idSMTP-Server? Und wenn ja, wie leite ich da eine Mail an z.B. gmx? Also das soll nix zum Spam-Mail senden werden. Gruß bit |
Re: eMail-Versand
Zu den Indy-Komponenten gibt es hier:
![]() |
Re: eMail-Versand
Leider erklärt sich für dich da nicht, wie ich eine email vom eigenen SMTP-Server zu einem anderen (z.b. web.de oder gmx.de) weiterleite.
|
Re: eMail-Versand
Logindaten musst du nicht eingeben.
Wenn du den Emailserver des Empfänger einträgst, dann erübrigt sich die Anmeldung. Die Anmeldung ist nur erforderlich, wenn ein Emailserver als Relay dienen soll. |
Re: eMail-Versand
Hallo,
wie wäre es damit?
Delphi-Quellcode:
Was verstehst Du unter eigenem SMTP-Server? Willst Du einen vorhandenen nutzen oder willst Du selbst einen in Dein Programm implementieren?
If slMail.Count > 0 Then Begin
IdMessage.Clear; IdMessage.MessageParts.Clear; IdMessage.Date := Now; idMessage.Subject := 'Fehlerprotokoll: Dienstestatus'; IdMessage.Body.Text := slMail.Text; IdMessage.From.Text := GetEnvironmentVariable('COMPUTERNAME') + '@meinedomaene.de'; IdMessage.Recipients.EMailAddresses := 'gueltigerbenutzer.name@meinedomaene.de'; idSMTP.Host := 'ip.des.mail.servers'; idSMTP.HeloName := 'gueltigerbenutzer.name'; idSMTP.Password := ''; idSMTP.Username := idSMTP.HeloName; Try idSMTP.Connect(10000); idSMTP.QuickSend('ip.des.mail.servers', IdMessage.Subject, IdMessage.Recipients.EMailAddresses, IdMessage.From.Text, IdMessage.Body.Text); ErrorLog('Protokoll per Mail versandt.',0); Except on e : Exception Do Begin ErrorLog(tmDienste.Name + ' Exception beim Mailversand: ' + e.Message,0); end; end; try idSMTP.Disconnect; except end; end; Oder suchst Du nach sowas ![]() Oder eher sowas ![]() Oder darf es sowas ![]() |
Re: eMail-Versand
Zitat:
AFAIK wird des öfteren die Annahme von Mail die direkt von einem Einwahlrechner stammen abgelehnt werden um dem SPAM-Aufkommen etwas Herr zu werden. Melde dir lieber eine Mail-Adresse an über das das geht und dessen Logindaten fest im Programm codiert sind. |
Re: eMail-Versand
Das Programm soll direkt eine Mail an eine bestimmte (optional Einstellbare) Adresse senden. Dabei möchte ich aber im Programm keine Zugangsdaten hinterlegen.
Irgendwie muss ja auch der "normale" email-Versand im Internet gehen, wenn ich von xy@web.de zu xx@gmx.de was maile geht es ja auch. Und wenn mein Programm selbst SMTP-Server spielt müßte ich doch direkt eine Mail quasi weiterleiten können (ich simulire quasi mit meinem eigen smtp-server einen email-server). Irgendwie schafft es ja madexcept auch ne mail direkt zu senden ohne zugangsdaten bzw. smtp-login-daten. |
Re: eMail-Versand
Du wirst kaum einen seriösen Mailserver finden, der ohne Logindaten Deine Mails weiterleitet.
Und was bitte spricht gegen die Verwendung eines Emailaccounts. Kannst die Ameldedaten ja sicherlich auch aus einer INI-Datei lesen, wenn Du sie nicht fest verdrahten willst. |
Re: eMail-Versand
Zum einen können Login-Daten die hinterlegt sind gestohlen werden.
|
Re: eMail-Versand
Leg sie doch verschlüsselt ab.
Entsprechende Komponenten gibt es für Delphi. Ist also kein Argument gegen die Benutzung von Anmeldedaten. Achso: Unsere Mailserver lehnen jeden Versuch, Mails ohne gültige Anmeldung zu verschicken, ab. Und jeder ordentliche Provider sollte das (meiner Meinung nach) auch tuen. |
Re: eMail-Versand
Leg doch auf nen Server ein kleines PHP-Script ab. Mit IdHTTP übergibst du die Daten per GET oder POST und das PHP-Script versendet dann eine Mail. Und das ohne irgednwelche SMTP-Logindaten.
|
Re: eMail-Versand
Danke, klingt ja ganz gut.
Aber mit PHP kenn ich mich nicht aus und es muß ja auch anders gehen, siehe ![]() |
Re: eMail-Versand
Zitat:
|
Re: eMail-Versand
Zitat:
Wenn die erste Frage mit "ja" zu beantworten ist, nimmt jeder SMTP-Server die Mail in der Regel entgegen, je nach Konfiguration wird nur unterschieden ob der Empfänger ein existierender Account sein muss (sonst Bounce) oder die Mail - falls der Empfänger nicht existiert - in ein Catch-All Postfach wandert. Und damit ist auch die Frage zu madExcept beantwortet: Das Ding spricht mit dem zuständigen SMTP-Server und sagt "ich habe Post für Dich". Die andere Variante, die mit den Logindaten, braucht man nur wenn man über einen bestimmten Mailserver als Relais versenden will, diese grundlegende Anti-Spam-Maßnahme ist fast flächendeckend umgesetzt. |
Re: eMail-Versand
Hallo,
@Luckie so meinte ich das nicht. Das Passwort kann verschlüsselt in einer INI-Datei stehen und wird vom Programm zur Laufzeit entschlüsselt, es steht also nur zur Laufzeit im Speicher unverschlüsselt zur Verfügung. Abgesehen davon kann man auch einen Resourcestring verschlüsselt in der Exe ablegen und ihn bei Bedarf entschlüsseln. Für meine diversen Dienste und Datenbankprogramme benötige ich häufiger "festverdrahtete" Anmeldungen (sprich: einen bestimmten Benutzer, der von dem Benutzer, unter dem die Software läuft / der sie bedient, abweicht). Die Anmeldungen liegen alle verschlüsselt vor und nicht im Klartext, weder im den Exen noch in den INI's und falls sie in 'ner Datenbank abgelegt werden, sind sie auch dort verschlüsselt. @Bit_Solo Bei den Madtools gibt es das Programm madTestMailAPIs.exe zum Prüfen des Mailversandes. Anhand dieses Programmes ist es mir nicht ersichtlich, wie es, ohne Anmeldung am Mailserver, Mails verschicken soll, ohne das zumindest der Benutzer dem Mailserver bekannt ist. Ich habe nicht den Eindruck, als würde die Software über einen eigenen Mailserver verfügen. Die Software fragt den eigenen DNS ab und ermittelt so den Mailserver. Und der nimmt die Überprüfung der Anmeldedaten vor. @OldGrumpy Wenn ich Deinen letzen Absatz richtig verstehe, ist die Verschlüsselung doch nicht zwingend Käse. Unser Mailserver akzeptiert Mails von MadExcept nur, wenn er Absender und Empfänger kennt (soeben ausprobiert). Und bei meinen Diensten und Programmen muss niemand von aussen sehen, welchen Benutzernamen ich benutze und welchen Mailserver, auch unter diesen Gesichtspunkten halte ich eine Verschlüsselung für sinnvoll. |
Re: eMail-Versand
Zitat:
|
Re: eMail-Versand
stimmt, da kann man aber auch Sachen nehmen, die nicht drauf schließen lassen, dass es ein Passwort oder ein Schlüssel ist.
Letztlich: 100% sicher wird's nicht, aber immer noch besser als Klartext. Und ich muss weder dem Anwender, noch jemandem, der sich unerlaubt Zugriff verschaffen will, Anmeldenamen und Passwörter auf dem Tablett präsentieren. |
Re: eMail-Versand
Zitat:
Wenn ich so ein Passwort für nen smtp Server will, guck ich zuerst mit regmon und filemon nach, obs irgendwo drinsteht. Dann (oder sogar als ersten Schritt) nehm ich Sniffer wie Wireshark und lass mir das Passwort aufm Holzbrett präsentieren. :mrgreen: |
Re: eMail-Versand
@jfheins
Was Du beschreibst setzt aber die Absicht voraus, an's Passwort kommen zu wollen. Unter dem Gesichtspunkt habe ich natürlich ein Problem. Aber das der Anwender quasi über die Anmeldedaten stolpert, muss nicht sein. Den Vorschlag des Veschlüssels hatte ich wegen Zitat:
|
Re: eMail-Versand
Hallo,
@nahpets also in den madExcept-Optionen gibt es 3 Punkte, 2 davon sind als SMTP-Client verarbeiten und madExcept arbeitet als SMTP-Server. Ich habe ja schon versucht eine Mail an eine GMX-Account zu senden, aber wenn ich bei SMTP ohne Login arbeite kommt ne Fehlermeldung..."wird ohne Login verweigert..blablabla {mp4xx}" Die 2. Variante ist halt bei SMTP mit Logindaten und das macht ja madExcept ohne. Hab bei madExcept nur angegeben, wo die Mails hinsollen. |
Re: eMail-Versand
MadExcept arbeitet mit MAPI.
|
Re: eMail-Versand
Hallo,
@Bit_Solo Zitat:
Falls Du einen SMTP-Server kennen solltest, so kannst Du ihn bei "smtp client settings" angeben. Dort kannst Du auch Benutzername und Passwort angeben. Aber ein eigener SMTP-Server ist dort keinesfalls im Spiel. @Win32.API Zitat:
Es werden vier Möglichkeiten unterstützt: 1. DNS-Auflösung zu einem SMTP-Server. 2. Angabe eines SMTP-Servers mit ggfls. Benutzername und Passwort. 3. MAPI z. B. für das installierte Outlook. 4. (Jeder beliebige?) Mailclient auf dem Rechner, das Versenden muss der Anwender selbst übernehmen, er bekommt "lediglich" die fertige Email in seinem Mailprogramm präsentiert. |
Re: eMail-Versand
Also ich hab das mal versucht. Absender ist meine gmx-addresse (xx@gmx.de) und empfänger (xx@gmx.de) ist auch eine gmx-adresse.
exception class : EIdSocketError exception message : Socket-Fehler # 10061 Verbindung abgelehnt. Ist der Absender gleiche Adresse wie oben (Test<xx@gmx.de>), nur Nametext anders folgendes: exception class : EIdProtocolReplyError exception message : 5.7.0 Sender address does not belong to logged in user {mp044}. Bei madExcept hab ich meine eMail-Adresse eingetragen und die mail kommt an... madexcept <meinemail@gmx.de> Und madexcept spielt da nicht STMP-Server???? |
Re: eMail-Versand
Hallo,
zu Fehler 10061 siehe u. a. ![]() Der zweite Fehler sieht so aus, als müsse da eine Anmeldung vorliegen, bevor der Server Mails annimmt. Mit madExcept bekomme ich Mails (in der Firma) nur versandt, wenn der Absender zumindest zur Maildomäne gehört (irgendwas@domaene.de) und es sich beim Empfänger um eine existierende Mailadresse in der Domäne handelt. Da ich keine Accounts bei gmx habe, kann ich nicht testen, ob sich deren Mailserver eventuell anders verhalten. Nach web.de bekomme ich mit madExcept nichts versandt (selbst mit Anmeldedaten nicht). |
Re: eMail-Versand
Zitat:
Ich denke dass andere Mailanbieter ähnliche Sicherheitsmaßnahmen ergriffen nhaben... |
Re: eMail-Versand
Guten Morgen,
danke für die vielen Info's. Ich habe gestern nochmal bei madshi nachgeschaut und folgendes gefunden: The "SMTP server" approach behaves just like an internet SMTP server does. Usually that works without authentication. However, some mail servers don't accept mails from dialup connections. So the SMTP server variation won't always work for all users. Das heißt ja dann wohl doch SMTP-Server, oder? |
Re: eMail-Versand
Hallo,
jo, aber anscheinend keiner, der beim Versenden von Mails viel Erfolg verspricht. |
Re: eMail-Versand
Hallo,
doch es geht. Wenn man bei madexcept die Zeil-eMail-Adresse eingibt, mach es madexcept so: Als Absender wird der Empfänger verwendet. Heißt: From: MadExcept <xx@gmx.de> To: MeinName <xx@gmx.de> Wenn ich es so probiere, dann klappt es auch. Also, herzlichen Dank für Eure Hilfe und Geduld. |
Re: eMail-Versand
Hallo,
ja, bei gmx klappt das, bei web.de nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz