PHP und E-Mail
als Präsentation ▻Die Funktion zum Senden von E-Mail heißt mail:
mail(
"bjelli@horus.at",
"Just another SPAM",
"Das ist der Text in der E-Mail"
);
Dazu passend wieder der “Here-Document” Trick, viel Text in einen langen String zu schreiben:
$text <<<Ende
Lieber Newsletter-Kunde!
wir freuen uns, dass Sie unseren
Newsletter zum Thema $thema
abonniert haben.
Ende;
mail("bjelli@horus.at", "Just another $thema-Newsletter", $text);
Wenn man englische Überschriften und Texte versendet ist das schon gut genug. Für andere Sprachen und Emojis braucht man encoding für die Überschrift und ein paar zusätzliche Header:
function mail_utf8($to, $subject, $message)
{
$encoded_subject = "=?UTF-8?B?" . base64_encode($subject) . "?=";
$headers = [
"MIME-Version: 1.0",
"Content-Type: text/plain; charset=utf-8",
"Content-Transfer-Encoding: 8bit"
];
return mail($to, $encoded_subject, $message, implode("\r\n", $headers));
}
Wie die Mail vom PHP-Interpreter versandt wird, ist in der PHP- Konfiguration festgelegt. Die Konfigurations-Datei hat den Namen php.ini. Wenn man PHP auf dem eigenen Computer betreibt, kann man den SMTP-Server des Providers eintragen um die ausgehende Mail über diesen Server zu versenden:
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[mail function]
SMTP = mail.provider.at
sendmail_from = someuser@fh-salzburg.ac.at
Der Befehl phpinfo() gibt die ganze Konfiguration von PHP aus. Hier kann man auch die Mail-Konfiguration nachlesen:
sendmail_from, sendmail_path, SMTP und smpt_port - siehe Dokumentation.

Kapitel
- Das Web Und Html
- Css
- Css Layout
- Urls
- Formulare
- Javascript Dom
- Php Vorbereitung
- Php
- Php Db Lesen
- Session
- Php Db Schreiben
- Php Db Optimierung
- Grafik
- Javascript
- Applied Js And Css
- Js Http
- Json
- Security
- Threat Modeling
- A01 - Zugriffskontrolle
- A02 - Fehlkonfiguration
- A03 - Software Supply Chain Failures
- A04 - Cryptographic Failures
- A05 - Injection + XSS
- A06 - Insecure design
- A07 - Authentication Failures
- A08 - Software or Data Integrity Failures
- A09 - Security Logging and Alerting Failures
- A10 - Mishandling of Exceptional Conditions
- Prompt Injection
- Advanced Javascript
- Qualitaet
- Kommandozeile
- Git
- Http