AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Email via Smpt

Ein Thema von Poring · begonnen am 16. Feb 2008 · letzter Beitrag vom 16. Feb 2008
Antwort Antwort
Seite 1 von 3  1 23      
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#1

Email via Smpt

  Alt 16. Feb 2008, 11:33
Hallo,

Ich möchte eine Email via Smtp versenden.
Dazu habe ich Smpt erstmal installiert (wie hier beschieben).

Gefunden habe ich zum versenden den folgenden Code:

Delphi-Quellcode:
uses
...IdAntiFreeze, IdMessage,IdAttachmentFile, IdText,IdSmtp;

procedure TForm1.Button1Click(Sender: TObject);
var
Email: TIdMessage;
s: integer;
begin
s := 0;
Email := TIdMessage.Create(nil);
Email.Recipients.Clear;
Email.Recipients.Add.Address := 'mail@hotmail.de'; //email des empfängers
Email.BccList.Add.Address := 'mail@hotmail.de'; //email des empfängers
Email.from.Text := edit1.text; //Text der Email
Email.From.Name := 'mail@hotmail.de'; //Name dem die Email gehört, also mein Name
Email.From.Address:='mail@hotmail.de'; //Absender
Email.Subject:='Test'; //Betreff
Email.Date := Now;
  with TIdText.Create(email.MessageParts, nil) do
   begin
    Body.Text := RichEdit1.Text;
    CharSet := 'iso-8859-1';
    ContentTransfer := 'quoted-printable';
    ContentType := 'text/plain';
    ParentPart := -1;
   end;
  with TIdText.Create(email.MessageParts, nil) do
   begin
    Body.Text := RichEdit1.asansistring('html'); //[Fehler] Unit1.pas(52): E2003 Undefinierter Bezeichner: 'asansistring'
    CharSet := 'iso-8859-1';
    ContentTransfer := 'quoted-printable';
    ContentType := 'text/html';
    ParentPart := -1;
   end;
  
  idsmtp.Connect; //[Fehler] Unit1.pas(59): E2003 Undefinierter Bezeichner: 'Connect'
  try
   idsmtp.Send(Email); //[Fehler] Unit1.pas(61): E2003 Undefinierter Bezeichner: 'Send'
   idsmtp.Disconnect; //[Fehler] Unit1.pas(62): E2003 Undefinierter Bezeichner: 'Disconnect'
  except
  idsmtp.Disconnect; //[Fehler] Unit1.pas(64): E2003 Undefinierter Bezeichner: 'Disconnect'
end;
showmessage('Mail wurde verschickt');
end;
Ich habe makiert wo die Fehler sind.
Kann mir jemand helfen?

Mfg
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Email via Smpt

  Alt 16. Feb 2008, 11:53
Hallo,

wenn der Compiler dir sagt, dass ein bestimmtes Objekt die angegebene Methode nicht habe, dann kannst du ihm ruhig glauben. TRichEdit hat in meiner Version keine Methode AsAnsiString() und deine SMTP-Komponente (idSmtp1 ?) sollte nicht idSmtp heißen - so heißt doch die eingebeunden Unit. Benenne die Komponente um oder verwende self.idsmtp um die Namensüberdeckung zu umgehen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#3

Re: Email via Smpt

  Alt 16. Feb 2008, 12:00
Huhu,

soll ich dan anstatt
asansistring('html') einfachBody.Text:=RichEdit1.Text; nehmen?

Und meine Unit heißt Unit1, von daher kann es dort zu keiner Namensüberlagerung kommen.
bei self.idsmpt.connect bekomme ich die Meldung: "Undefinierter Bezeichner 'idsmtp'"

Mfg
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Email via Smpt

  Alt 16. Feb 2008, 12:08
Wie du deinen Text aus dem RichEdit übernimmst, bleibt dir überlassen - als markup wirst du ihn ohne RTF2HTML-Übersetzer wohl nicht erhalten.

Wenn deine Unit Unit1 heißt, dann heißt deine SMTP-Client-Komponente wahrscheinlich IdSmtp1. Ich bezog mich auf die Unit IdSmtp, welche automatisch unter USES aufgeführt wird, sobald du eine SMTP-Komponente auf deine Form ziehst.
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#5

Re: Email via Smpt

  Alt 16. Feb 2008, 12:13
Und wie kann ich den Text dann übersetzten?
Ich kenne mich mit Smtp nicht wirklich gut aus, daher weis ich auch nciht ob es einen unterschied macht ob ich den Text aus einem RichEdit oder aus einen Memofeld zb. beziehe (wäre mir eigentlich egal wo raus - soalnge es funktioniert).

Unter Unit steht IdSmpt, dass stimmt. Nenne ich jedoch beim ButtonClick IdSmpt zu IdSmpt1 bekomme ich die meldung: Undefinierter Bezeichner 'IdSmtp1'.
Muss ich IdSmpt vorher noch deklarieren? Und wenn ja, wie?

Mfg
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Email via Smpt

  Alt 16. Feb 2008, 12:25
Zitat von Poring:

Unter Unit steht IdSmpt, dass stimmt. Nenne ich jedoch beim ButtonClick IdSmpt zu IdSmpt1 bekomme ich die meldung: Undefinierter Bezeichner 'IdSmtp1'.
Muss ich IdSmpt vorher noch deklarieren? Und wenn ja, wie?

Mfg
Hallo,

Deine TypDeklaration sollte dann auch idsmtp1 beinhalten.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    IdSMTP1: TIdSMTP;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
Den Namen änderst Du am besten im ObjectInspector.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#7

Re: Email via Smpt

  Alt 16. Feb 2008, 12:34
Ah ok Danke!

Nun geht zumindest dort alles.

Will ich das Projekt Starten kommt:
Feld Form1.IdSmtp1 besitzt keine entsprechende komponente. Soll sie entfern werden?
Klicke ich auf nein, startet das Programm.
Klicke ich auf den Button stürzt das Programm ab und ich bekomme ein Fehler bei
IdSmtp1.Connect (bzw beim ersten IdSmtp1 im Quellcode)
Woran kann dies liegen?

Mfg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Email via Smpt

  Alt 16. Feb 2008, 13:12
Das die Komponente in deinem Programm fehlt.
Markus Kinzler
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#9

Re: Email via Smpt

  Alt 16. Feb 2008, 13:15
Und wie bekomme ich sie dort hinein?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Email via Smpt

  Alt 16. Feb 2008, 13:16
Leg sie auf die Form.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:28 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