ragukro
Goto Top

AMP Website mit E-Mail Formular inkl SMIME

Hallo!

Kann mir Jemand helfen bei einer AMP Website:

Ich schaffe es nicht ein E-Mail aus der Website heraus zu senden. Irgendwie fehlt mir der Zugang, wie die Einstellungen für das Mail senden eingestellt werden. Das muss ja ein vertraulicher Ort auf meinem Webserver sein, an dem auch die Kennwörter abgelegt werden. Einen zugriffsbeschränkten Ort bekomme ich ja noch hin, aber es fehlt mir wie ich dort welche Daten vorhalten muss, damit die Website dann darauf zugreift.

Ohne AMP mache ich das sonst über php mit "Swiftmailer" - das scheint aber nicht AMP konform zu sein.

Es wäre super, wenn ich da einen kleinen Tip bekommen könnte.

Noch besser wäre, wenn auch das Hinterlegen von Zertifikaten und Keys ginge, damit die Mail signiert und verschlüsselt werden können.

Vielen Dank

ragukro

Content-ID: 432483

Url: https://administrator.de/contentid/432483

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

138810
Lösung 138810 24.03.2019 aktualisiert um 16:42:58 Uhr
Goto Top
Zitat von @RaGuKro:
Ich schaffe es nicht ein E-Mail aus der Website heraus zu senden. Irgendwie fehlt mir der Zugang, wie die Einstellungen für das Mail senden eingestellt werden.
Wie immer, man erstellt sich ein PHP-Skript das entsprechende Parameter via GET/POST vom Formular entgegen nimmt und die Mail verschickt. Das hat nichts mit AMP am Hut funktioniert also damit ebenfalls!
Das muss ja ein vertraulicher Ort auf meinem Webserver sein, an dem auch die Kennwörter abgelegt werden.
Nein wird nicht benötigt, normalweise hat der Account unter dem der Webserver läuft entsprechende Mail-Relay-Rechte, ohne extra Kennwörter nutzen zu müssen, bzw. wenn, dann liegen die außerhalb des Webroot sowieso nicht zugänglich bestenfalls verschlüsselt.
Ohne AMP mache ich das sonst über php mit "Swiftmailer" - das scheint aber nicht AMP konform zu sein.
Kann doch so bleiben, mach dir ein PHP-Skript an das du die Daten von deiner AMP-Seite einlieferst, feddich.
Du hast da offensichtlich wegen AMP eine Denkblockade, aber das hat mit Mail senden nicht viel zu tun.

Noch besser wäre, wenn auch das Hinterlegen von Zertifikaten und Keys ginge, damit die Mail signiert und verschlüsselt werden können.
Sowas macht man ja heutzutage über einen SMIME Gateway/Proxy wie z.B. NoSpamProxy welches Mails zentral signiert und im Falle des Vorhandensein eines Zertifikats für den Empfänger verschlüsselt, da hat PHP dann nichts mehr mit am Hut, das liefert nur die Mail ein und das GW übernimmt den Rest.
RaGuKro
RaGuKro 24.03.2019 um 18:45:32 Uhr
Goto Top
Dank, das habe ich verstanden, -- fast.

Ich rufe auf meinen nicht AMP Seiten das Formular für den E-Mail Versand mit :
<form id="xx" method="post" action="" >

auf. Unter AMP soll ich aber ein Argument für action-xhr angeben. Leerlassen, wie bisher (non AMP) geht nicht.


Wie komme ich da weiter?
138810
Lösung 138810 24.03.2019 aktualisiert um 19:23:26 Uhr
Goto Top
Zitat von @RaGuKro:


Ich rufe auf meinen nicht AMP Seiten das Formular für den E-Mail Versand mit :
<form id="xx" method="post" action="" >

auf. Unter AMP soll ich aber ein Argument für action-xhr angeben. Leerlassen, wie bisher (non AMP) geht nicht.
Das Argument sollst du ja auch nicht leer lassen, sondern die Mail-Routine in ein separates Skript auslagern, z .B. sendmail.php und dieses dann in den Parametern angeben. Wenn du method=Post benutzt musst du den Parameter action-xhr verwenden weil hier dann die Daten über einen Ajax Request an das Skript gesendet werden. Dann gibst du aus dem Skript am besten ein JSON Objekt zurück und wertest das per JavaScript aus.
Zusätzlich brauchst du ja für Form-Objekte ein zusätzliches JavaScript, alles schön in der Doku nachzulesen
https://www.ampproject.org/docs/reference/components/amp-form

Wie komme ich da weiter?
Immer die erste Anlaufstelle die Doku face-smile
RaGuKro
RaGuKro 24.03.2019 um 19:33:20 Uhr
Goto Top
Ja, verdammt, ja.

Vielen Dank
RaGuKro
RaGuKro 24.03.2019 um 20:36:20 Uhr
Goto Top
Eine Verständnisfrage habe ich leider noch:
das php Skript (zb sendmail.php) sollte ja auf einem nicht öffentlich zugänglichen Teil des Webspace liegen, weil es Passwörter enthält.

Meinen Webspace habe ich so eingerichtet, dass Aufrufe aus dem Verzeichnis "html" des Webspace bedient werden.
Für interne nicht öffentliche Verwendungen habe ich weitere Verzeichnisse, sagen wir mal "geheim", welche auf gleicher Ebene, wie das "html" liegen.

Ich habe das sendmail.php also in dem Verzeicnis "geheim" gespeichert.

Mit meinem Aufruf <form method="post" action-xhr="../geheim/sendmail.php" > komme ich aber da nicht hin.

Meine htaccess Abfangroutine erkennt: http://meinedomain.de/geheim/sendmail.php??__amp_source_origin=https%3A ...

Ich könnte das sendmail.php so umschreiben, dass es sich die vertraulichen Zugangsdaten aus einer Datei holt, die ich im "geheim" Ordner speichere. Aber das finde ich nicht so elegant, es geht doch sicher besser?


und ja SMIME Gateways sind schon nett, kosten aber monatlich...
138810
138810 24.03.2019 aktualisiert um 22:44:21 Uhr
Goto Top
sollte ja auf einem nicht öffentlich zugänglichen Teil des Webspace liegen, weil es Passwörter enthält.
Blödsinn, PHP wird wie der Name schon sagt "interpretiert" und den PHP Code sieht deswegen
auch niemand weil er ja durch den Interpreter gejagt wird und heraus kommt eine simple HTML-Datei oder was auch immer du im Header dem Client zurück schickst, deswegen machen darin hinterlegte Credentials auch nichts.
Mit meinem Aufruf <form method="post" action-xhr="../geheim/sendmail.php" > komme ich aber da nicht hin.
Ist ja auch logisch denn dieses muss ja für alle erreichbar sein, Du sicherst es durch passend gesetzte Header und Session-Variablen so ab das dass Skript dann auch nicht jeder zum Mail senden benutzen kann.

Da fehlen offensichtlich noch einige PHP Grundlagen ...
joehuaba
joehuaba 25.03.2019 um 08:12:59 Uhr
Goto Top
Guten Morgen,

hat zwar ansich nichts mit deinem Problem zu tun,
aber überleg dir mit AMP wirklich zu arbeiten.

Hat zwar 1-2 Vorteile, aber viele gehen wieder weg von AMP.

Gruß joehuaba