AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi: E-Mail-Versand / E-Mail-Formatierung
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi: E-Mail-Versand / E-Mail-Formatierung

Ein Thema von SvenLittkowski · begonnen am 31. Jan 2011 · letzter Beitrag vom 7. Feb 2011
Antwort Antwort
Seite 5 von 5   « Erste     345   
Mike_

Registriert seit: 26. Mär 2008
98 Beiträge
 
Delphi 2007 Professional
 
#41

AW: Delphi: E-Mail-Versand / E-Mail-Formatierung

  Alt 6. Feb 2011, 14:15
Step by Step:

Ich denke nicht dass es an der Delphi Version liegt, sondern dass du den Quellcode kopiert hast und ein paar Propertys von mir nicht übernommen hast, welch eich direkt bei den Komponenten auf der Form eingestellt habe (Und diese somit nicht in der .pas stehen).

################################################## ############
# GoogleMail SendIt v.0.1
#
# Little Tutorial how to send Mails through Gmail with Delphi
# Greetings flying out to limebulls.com
################################################## ############

1.) Put the following components on your application:

a -> TButton
b -> TIdSSLIOHandlerSocketOpenSSL
c -> TIdMessage
d -> TIdSMTP

Leave the "standard names". (!)

2.) Set the propertys to the following components of you app. :

IdSMTP1 -> AuthType -> atDefault
IdSMTP1 -> IOHandler -> IdSSLIOHandlerSocketOpenSSL1
IdSMTP1 -> UseTLS -> utUseRequireTLS
IdSSLIOHandlerSocketOpenSSL1 -> (TIdSSLOptions) -> Method -> sslvSSLv3
(v.2 is no longer available @ google mail server)

3.) Finish it !

Doubleclick your Button on the form and paste :

Delphi-Quellcode:
IdSMTP1.Host := 'smtp.googlemail.com';
IdSMTP1.Port := 587;
IdSMTP1.Username := 'USERNAME'; //WITHOUT @gmail.com
IdSMTP1.Password := 'PASSWORD';
IdSMTP1.Connect;

IdMessage1.From.Name := 'Bill';

IdMessage1.From.Address := 'YOURMAIL@googlemail.com';
IdMessage1.ReplyTo.Add.Address := 'YOURMAIL@googlemail.com';
IdMessage1.Recipients.Add.Address := 'YOURMAL@googlemail.com';

IdMessage1.Subject := 'Betreff';
IdMessage1.Body.Text := 'Test';
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
You´re done !
Delphi-Nachwuchs

Geändert von Mike_ ( 6. Feb 2011 um 14:36 Uhr)
  Mit Zitat antworten Zitat
SvenLittkowski

Registriert seit: 18. Dez 2004
98 Beiträge
 
#42

AW: Delphi: E-Mail-Versand / E-Mail-Formatierung

  Alt 6. Feb 2011, 17:29
Ha! Es funktioniert! Es funktioniert!

Hey Mike, vielen Dank für Deine Hilfe. Ich sollte sagen, unermüdliche Hilfe. Mir ist aufgefallen in all den Postings von Dir, daß Du eine sehr gute Art hast, das Problem, wie aber auch menschliche Schwächen anzugehen. Mit den menschlichen Schwächen meine ich zum Beispiel, Deinen Code kopiert zu haben aus Deiner Anwendung aber nicht die Eigenschaften der Indy-Komponenten. Wann immer ich Fehler auf meiner Seite gemacht hatte, hast Du sie gut erkannt.

Ich frage mich, ob Du im Lehrbereich arbeitest oder einfach nur ein sehr gutes Verständnis von Menschen hast. Mir hat jedenfalls Deine Art des Helfens gut gefallen. Anders als bei vielen, vielen anderen Leuten. Zudem hast Du Dir sehr viel Zeit genommen.

Außerdem habe ich ein tiefes Verständnis zu Delphi bemerkt, soweit ich es in diesen wenigen Postings bemerken konnte.

Also, vielen Dank nochmal. Ich werde nun mein Programm, nachdem es grundlegend E-Mails versenden kann, nun noch etwas erweitern, damit die ganze Sache noch besser in der Bedienung wird.

Wie kann ich Leerzeilen in die Message einfügen?
Wie kann ich die Message im HTML-Format gestalten?
Vor allem: wie kann ich LabelStatus.Caption die jeweilige Aktivität anzeigen lassen?

Geändert von SvenLittkowski ( 6. Feb 2011 um 18:45 Uhr)
  Mit Zitat antworten Zitat
Mike_

Registriert seit: 26. Mär 2008
98 Beiträge
 
Delphi 2007 Professional
 
#43

AW: Delphi: E-Mail-Versand / E-Mail-Formatierung

  Alt 6. Feb 2011, 20:42
Ha! Es funktioniert! Es funktioniert!

Hey Mike, vielen Dank für Deine Hilfe. Ich sollte sagen, unermüdliche Hilfe. Mir ist aufgefallen in all den Postings von Dir, daß Du eine sehr gute Art hast, das Problem, wie aber auch menschliche Schwächen anzugehen. Mit den menschlichen Schwächen meine ich zum Beispiel, Deinen Code kopiert zu haben aus Deiner Anwendung aber nicht die Eigenschaften der Indy-Komponenten. Wann immer ich Fehler auf meiner Seite gemacht hatte, hast Du sie gut erkannt.

Ich frage mich, ob Du im Lehrbereich arbeitest oder einfach nur ein sehr gutes Verständnis von Menschen hast. Mir hat jedenfalls Deine Art des Helfens gut gefallen. Anders als bei vielen, vielen anderen Leuten. Zudem hast Du Dir sehr viel Zeit genommen.

Außerdem habe ich ein tiefes Verständnis zu Delphi bemerkt, soweit ich es in diesen wenigen Postings bemerken konnte.

Also, vielen Dank nochmal. Ich werde nun mein Programm, nachdem es grundlegend E-Mails versenden kann, nun noch etwas erweitern, damit die ganze Sache noch besser in der Bedienung wird.
Danke für die Blumen

Das liegt wahrscheinlich daran, dass sehr viele (erfahrene) Leute so antworten, dass es keine "Schritt für Schritt Anleitung" ist.

Sie gehen davon aus, dass du dich selbst mit dem Thema beschäftigst un geben dir Hilfestellungen.

Das ist m.M.n. die beste Art auch etwas zu lernen, da du dich dann selbst damit beschäftigen wirst.
Solltest du dies nicht tun, wird die Frage auch nicht wichtig gewesen sein und wäre es sowieso nicht wert beantwortet zu werden.

Ich such mal ebend einen wunderbaren Thread dazu
'Wie man kluge Fragen stellt':
http://www.tty1.net/smart-questions_de.html

Den Thread hatte ich in der AutoIt Community gefunden, er ist todeslang aber auch wert gelesen zu werden.


Wie kann ich Leerzeilen in die Message einfügen?
Wie kann ich die Message im HTML-Format gestalten?
Vor allem: wie kann ich LabelStatus.Caption die jeweilige Aktivität anzeigen lassen?
1.)
IdMessage1.Body.Add('asddsa');
IdMessage1.Body.Add('asdas');

ShowMessage(IdMessage1.Body.Text);

2.) http://www.indyproject.org/sockets/b...8_17_a.en.aspx

3.)
Setze die Caption ganz normal nach dem entsprechendem Schritt bei dir im Script.
Sollte er sofort den letzten Schritt anzeigen war der Emailversandt entweder zu rasant oder du musst ein Delay hineinbauen (Wovon ich ausgehe, da ein ähnliches Verhalten bei meinem ColorGame vorhanden war).

Schaue dir dazu ggf. die ColorGame Source an (Beiträge von mir) oder nutze gleich die Procedure:

Delphi-Quellcode:
procedure Delay(time:Integer);
var
  i: integer;
begin
  for i := 0 to time do
  begin
    Sleep(1);
    Application.ProcessMessages;
  end;
end;
Delphi-Nachwuchs
  Mit Zitat antworten Zitat
SvenLittkowski

Registriert seit: 18. Dez 2004
98 Beiträge
 
#44

AW: Delphi: E-Mail-Versand / E-Mail-Formatierung

  Alt 6. Feb 2011, 20:54
Vielen Dank!

In PHP kann ich recht gut gestaltete Mails entwerfen. Ich denke, ich kann den HTML-Code fast ohne Problem übernehmen. Die Leerzeile habe ich auch schon hinzugefügt (2 Varianten?), und nun werde ich mir Deinen link (HTML) durchlesen.

ASDAS und ADDSA funktionieren nicht, sehe sie als reinen, sinnvollen Text.
Auch das Einfügen von "\n" bringt nichts.

Aber mittels HTML kann ich das Problem auch lösen, nur würde mich es schon interessieren, wie ich auch ohne HTML Leerzeilen einfügen kann.

Geändert von SvenLittkowski ( 6. Feb 2011 um 21:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#45

AW: Delphi: E-Mail-Versand / E-Mail-Formatierung

  Alt 6. Feb 2011, 23:52
Und was passiert bei
Delphi-Quellcode:
IdMessage1.Body.Add( 'Stell Dir vor dieser Text würde hier nicht stehen, was bliebe übrig?' );
IdMessage1.Body.Add( '' );
Und was passiert, wenn man (in der IDE) mit dem Cursor auf das Add geht und dann F1 drückt?
Delphi-Referenz durchsuchenTStrings.Add

Ein Application.ProcessMessages wird in diesem Fall auch helfen, es sollte aber erwähnt werden, dass es dabei zu ungewollten Effekten kommen kann.
Somit wäre wohl dieser Code sinnvoller:
Delphi-Quellcode:
Label1.Caption := 'Zeig Dich';
Label1.Repaint; // erzwingt das Neuzeichnen von Label1
Die "korrekte" Vorgehensweise wäre allerdings den Mailversand in einen Thread auszulagern.
Dieser würde dann den jeweiligen Status an den Hauptthread übergeben und könnte dort ohne dieses ProcessMessages und Repaint gemütlich angezeigt werden.

Korrekt aus folgenden Gründen:

Wir arbeiten mit einer ereignisgesteuerten GUI, also sollten wir zum Anzeigen auch Ereignisse verwenden, dann fühlt sich die GUI wie zu Hause

Trennung von der GUI und dem Programm-Code. Was nicht zur Kommunikation mit dem Benutzer benötigt wird hat im Quelltext des Formulars nix verloren

Lang laufende Code-Abschnitte blockieren die GUI und der Benutzer hat das Gefühl die Anwendung klemmt oder ist abgestürzt. Somit sollen diese Teile in einem eigenen Thread laufen.

Jetzt kommt das große ABER:

Das ist dann von der Programmierung schon anspruchsvoller und für einen Anfänger nicht zu empfehlen.
Ich finde es aber wichtig darauf hinzuweisen, dass da noch was geht
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
SvenLittkowski

Registriert seit: 18. Dez 2004
98 Beiträge
 
#46

AW: Delphi: E-Mail-Versand / E-Mail-Formatierung

  Alt 7. Feb 2011, 03:53
Sir Rufo,

vielen Dank für Deine Hilfe! Auch sehr gut herübergebracht. Deine Antwort hilft mir weiter, auch der Link. Vielen Dank.

Inzwischen habe ich dieses Problem gelöst, dank Eurer Hilfe(n).

Geändert von SvenLittkowski ( 7. Feb 2011 um 04:42 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz