![]() |
Email über php Script versenden
Hi!
Wie kann ich eine E-Mail per php-Script versenden? Am besten wär's, mit den Indys. Ich finde hier immer nur die Lösung, wo man Username und Passwort angeben muss, das möchte ich einfach nicht in der exe hinterlassen. ;) |
Re: Email über php Script versenden
So:
PHP Script!
Code:
mail("webmaster@domain.de","Synonym","
[B]Hallo,[/B] Dies ist eine eMail, die mit PHP geschickt wurde.", "From: Beispiel-Name <test@test.de> Bcc: [email]kopie@kopie.de[/email] Content-Type: text/html"); und dann hiermit senden!
Delphi-Quellcode:
gruß
uses IdMultipartFormData;
{ .... } procedure TForm1.Button1Click(Sender: TObject); var data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; try { add the used parameters for the script } data.AddFormField('param1', 'value1'); data.AddFormField('param2', 'value2'); data.AddFormField('param3', 'value3'); { Call the Post method of TIdHTTP and read the result into TMemo } Memo1.Lines.Text := IdHTTP1.Post('http://localhost/script.php', data); finally data.Free; end; end; synonym |
Re: Email über php Script versenden
Boah, ging das aber schnell! :)
Danke! Werde es gleich mal testen... |
Re: Email über php Script versenden
Was muss ich denn hier eigeben?
Delphi-Quellcode:
Jetzt kommt nämlich:
data.AddFormField('param1', 'value1');
data.AddFormField('param2', 'value2'); data.AddFormField('param3', 'value3'); Zitat:
Nachtrag: Mein Script sieht jetzt so aus: Zitat:
|
Re: Email über php Script versenden
So:
PHP Script!
Code:
<?php
mail("$zu","$betreff"," $text", "From: $von Content-Type: text/html"); ?> und dann hiermit senden!
Delphi-Quellcode:
gruß
uses IdMultipartFormData;
{ .... } procedure TForm1.Button1Click(Sender: TObject); var data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; try { add the used parameters for the script } data.AddFormField('zu', 'test@domain.de'); data.AddFormField('betreff', 'jo funktioniert'); data.AddFormField('text', 'Hallo, test erfolgreich'); data.AddFormField('von', 'matze@matze.de'); { Call the Post method of TIdHTTP and read the result into TMemo } Memo1.Lines.Text := IdHTTP1.Post('http://localhost/script.php', data); finally data.Free; end; end; synonym P.S. Du darfst das
Code:
nicht vergessen!
<?php ?>
|
Re: Email über php Script versenden
Man merkt, dass ich keine Ahnung von php hab. ;)
Ein fehler kommt immer hier:
Delphi-Quellcode:
Memo1.Lines.Text := IdHTTP1.Post('http://localhost/script.php',
|
Re: Email über php Script versenden
wie genau machst du das denn? über nen externen server?
synonym |
Re: Email über php Script versenden
Ja, bei IdHTTP hab ich beim Host: mailto.t-online.de eingestellt.
|
Re: Email über php Script versenden
häh? wo hast du denn die php datei liegen? bei idhttp musst du nichts eingeben...
das php script sendet automatisch über sendmail! synonym |
Re: Email über php Script versenden
Also die php Datei hab ich im Projektordner, muss ich die auf nen Server laden?
Sorry, ich frag schon blöd. :( |
Re: Email über php Script versenden
Also, ich hab ja selber keine Ahnung, aber soviel versteh ich:
Wo du die PHP-Datei lässt, ist wohl relativ egal. Nur muss der Ort der Datei anstatt des Zitat:
|
Re: Email über php Script versenden
Danke, das hatte ich jedoch schon so.
Bei dieser Zeile:
Delphi-Quellcode:
kommt folgender Fehler:
Memo1.Lines.Text := IdHTTP1.Post(IncludeTrailingBackslash(ExtractFilePath(ParamStr(0))) + 'mail.php', data);
Zitat:
|
Re: Email über php Script versenden
Hast du denn nen Apachen laufen?
|
Re: Email über php Script versenden
Sorry, aber was is des? :duck:
|
Re: Email über php Script versenden
Das ist der Server, der PHP-Seiten erst das Leben einhaucht. Der interpretiert wohl die Scripte und macht Webseiten draus. Jedenfalls muss son Ding wohl auf dem Rechner laufen, auf dem die PHP-Seite liegt.
Ich glaube ![]() |
Re: Email über php Script versenden
:wall:
Vielen Dank! Ich hab's einfach auf den Server hochgeladen, wo ich bin, jetzt geht's :) Mein spezieller Dank geht auch an Synonym. :thumb: |
Re: Email über php Script versenden
Jetzt hab ich nur noch das Problem, dass die Dinge, wie Betreff, Text, ... nicht im Script verändert werden, bzw. nicht gesendet werden.
Es kommt immer folgendes: Zitat:
Delphi-Quellcode:
mein php-Script sieht so aus:
data.AddFormField('zu', 'matthias.hielscher@t-online.de');
data.AddFormField('betreff', 'jo funktioniert'); data.AddFormField('text', Memo1.Text); data.AddFormField('von', 'matze@matze.de');
Code:
<?php
mail("$zu","$betreff"," $text", "From: $von Content-Type: text/html"); ?> |
Re: Email über php Script versenden
Ich denke, den Text muss man in der php-Datei speichern, nur will ich nicht mein FTP-Passwort angeben müssen, das ich brauch, wenn ich die Datei auf dem Server ändern will.
Wie löst man denn sowas am Dümmsten? |
Re: Email über php Script versenden
sendet er also die mail auch nicht? manchmal haut indy nämlich ne fehlemeldung raus, und es ist trotzdem alles richtig gesendet!
synonym |
Re: Email über php Script versenden
Also die Mail wird ordnungsgemäß versendet, nur kann ich den Inhalt nicht ändern, da das Script auf dem Server ist und ich meinen PC nicht als Server laufen lassen kann.
|
Re: Email über php Script versenden
was willst du denn am inhalt des scriptes ändern? an diesem musst du nichts anpassen.....
|
Re: Email über php Script versenden
Der Inhalt des Scropts ist doch die E-Mail, die versendet wird.
Jetzt möchte ich aber einen anderen Text in der E-Mail haben, so muss ich den Inhalt des Scripts doch verändern. |
Re: Email über php Script versenden
nein, den inhalt des skriptes musst du sicherlich nicht ändern!
du übergibst die daten aus der delphi form als parameter und dieses script führt dann einfach den mail vorgang aus! oder verstehe ich deine frage falsch?? |
Re: Email über php Script versenden
Ne, du verstehst es richtig :)
Cool, aber komisch, dass die daten dann nicht übermittelt werden. |
Re: Email über php Script versenden
wirklich koomisch! eigentlich sollte dies so funktionieren! :wall:
|
Re: Email über php Script versenden
Hmm, kann es sein, dass ich
![]() |
Re: Email über php Script versenden
das mail erhälst du ja, einfach ohne betreff und text, oder?
|
Re: Email über php Script versenden
Also, so kommen die Daten:
Delphi-Quellcode:
Nur bekomme ich halt den Fehler, wenn ich
data.AddFormField('zu', 'matthias.hielscher@t-online.de');
data.AddFormField('betreff', 'jo funktioniert'); data.AddFormField('text', 'Hallo, test erfolgreich'); data.AddFormField('von', 'matze@matze.de');
Delphi-Quellcode:
angebe.
Memo1.Text
|
Re: Email über php Script versenden
bekommst du den fehler von delphi oder vom php script?
synonym |
Re: Email über php Script versenden
Er tritt auf, sobald ich die Mail senden will, von wo genau der kommt, weiß ich nicht ;)
[Edit]Auf jeden Fall ist's so, dass wenn ich folgende zeile weglasse, kein fehler kommt.
Delphi-Quellcode:
[/Edit]
Memo1.Lines.Text := IdHTTP1.Post('http://www. ... mail.php', data);
|
Re: Email über php Script versenden
Ich weiß, ich nerve. :(
Kann mir einer sagen, wieso das hier nicht geht und wie ich es richtig machen muss?
Delphi-Quellcode:
data.AddFormField('text', Memo1.Text);
|
Re: Email über php Script versenden
Warum es nicht geht ist mir jetzt eigentlich klar, ein String wird verlangt und ich gebe TStrings an.
Ich habe es in einer Schleife probiert, und die einzelnen Zeilen in eine Zeile geschrieben, aber das geht auch nicht. egal, wie ich es mache, es kommt immer das hier, womit ich überhaupt nichts anfangen kann: Zitat:
|
Re: Email über php Script versenden
was steht denn im Memo? '%20' oder so ist doch im Browser ein Leerzeichen. Vielleicht vertägt er das CLF nicht oder so?
Ich würd wie folgt vorgehen: 1. Ein Wort im Memo testen ohne Leerzeichen und CLF 2. Ein Satz mit Leerzeichen ohne CLF 3. Memo1.Text in einer Variablen zwischenspeichern und die übergeben 4. Wenn 3. nicht klappt, die Variable durchparsen und alle CLFs entfernen und dann übergeben 5. Wenn 4. geklappt hat, schlau machen, was du anstelle des CLFs angeben muss und entsprechend ersetzen. Kann natürlich auch sein, dass ich voll aufm Holzweg bin... |
Re: Email über php Script versenden
Danke, jetzt kappier ich gar nichts mehr.
Ich hab jetzt in einem neuen Memo ein paar Zeilen stehen, mit Leerzeichen und so, das versendet wird. Aber, es kommt nachher alles in einer zeile an (die Schleife hab ich entfernt ;) ). Nachtrag: Wenn ich kurzen Text im memo eingebe, dann wird's verschickt, ist der text länger, dann nicht. Und leider kommt halt alles als Einzeiler an. |
Re: Email über php Script versenden
Dann musst du die Zeilenumbrüche im PHP Script verändern...
Den Fehler des Memo1.textes am schluss könntest du verhindern, indem du im PHP Script vor ?> folgende Zeile ergänzt!
Code:
Und dann solltest du am Anfang noch nach <?php folgendes einfügen:
echo("E-Mail erfolgreich gesendet");
Code:
Gruß
$text = stripslashes($text);
synonym |
Re: Email über php Script versenden
Es ist echt nett, dass ihr euch so bemüht.
@Synonym: Der Fehler ist genau der selbe wie vorher. :( |
Re: Email über php Script versenden
Führ mal bitte das Script online im Browser aus...
mach es dabei so ![]() Und schau was der Browser sagt! gruß synonym |
Re: Email über php Script versenden
ich versuch mal eben ein Beispiel zu schreiben...vielleicht gelingt es mir ja besser :-)
gruß synonym |
Re: Email über php Script versenden
Dann ist es vermutlich das, was ich meinte. PHP kennt vermutlich kein Carriage Return Line Feed ( das ist das, was ich mit CLF meinte. Das "Return" hab ich dabei irgendwie öhm.. verschluckt :oops: )
Also den Text durchackern und alle Vorkommen von #13#10 durch den PHP-Befehl für Zeilenumbruch ( den ich leider nicht kenne ) ersetzen. TMemo.Text ist übrigens nicht vom Typ TStrings. Das ist TMemo.Lines. |
Re: Email über php Script versenden
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir funktioniert es übrigens ohne Probleme...hier das Proggi!
Synonym P.S. Lasse die mail.php nur kurz online, sonst senden alle über meinen Server anonyme Mails! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 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