php

Verwendung der mail()-Funktion in PHP unter Ubuntu

Verwendung der mail()-Funktion in PHP unter Ubuntu

Die Funktion mail() ist eine integrierte PHP-Funktion, die zum Senden von E-Mails vom localhost verwendet wird. Zum Senden von E-Mails mit dieser Funktion sind jedoch einige Konfigurationen erforderlich. Sie benötigen die echten Mailserver-Informationen zum Einrichten der Konfiguration. Sie können die Mailserver-Informationen Ihres aktiven Hosting-Servers verwenden, oder Sie können beliebige kostenlose Mailserver-Informationen verwenden. In diesem Tutorial werden ein Gmail-Konto und die SMTP-Serverinformationen von Gmail verwendet, um E-Mails mit der Funktion mail() zu senden.

Setup-Konfiguration

Zwei Dateien müssen geändert werden, um die Konfiguration einzurichten: die php.ini Datei und eine weitere Datei ist für die Konfiguration zum Einrichten des Mailservers erforderlich. Befolgen Sie die unten aufgeführten Schritte, um die Konfiguration einzurichten. Viele Pakete sind in PHP zum Versenden einer E-Mail verfügbar. msmtp ist ein PHP-Mailserver-Client, der in diesem Tutorial verwendet wird, um E-Mails mit der PHP-Mail()-Funktion zu senden.

Schritte:

Führen Sie den folgenden Befehl aus, um die zu installieren msmtp Paket auf Ubuntu zum Einrichten des Mailservers:

$ sudo apt-get install msmtp

Erstellen Sie eine Konfigurationsdatei mit dem Namen /etc/msmtprc mit dem folgenden Befehl:

$ sudo nano /etc/msmtprc

Fügen Sie der Datei den folgenden Inhalt hinzu. Fügen Sie die gültige E-Mail-Adresse für die . hinzu Benutzer und das gültige Passwort für die Passwort das wird verwendet, um eine E-Mail zu senden. Legen Sie die Absender-E-Mail-Adresse für fest bilden Wert.

Standardeinstellungen
tls an
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
Kontostandard
Host-smtp.Google Mail.com
Port 587
authentifizieren
[email protected]
Passwort user_password
von sender_email_address

Führen Sie die folgenden Befehle aus, um den Besitz und die Berechtigung für . festzulegen /etc/msmtprc-Datei:

$ sudo chown fahmida /etc/msmtprc
$ sudo chmod 0600 /etc/msmtprc

Öffne das php.ini Datei und ändern Sie den folgenden Inhalt mit den folgenden Werten:

SMTP=smtp.Google Mail.com
smtp_port=587
sendmail_path = "/usr/bin/msmtp -t -i"

Syntax:

bool mail (string $to, string $subject, string $message [, gemischte $additional_headers [, string $additional_parameters ]])

Diese Funktion kann vier Argumente annehmen. Das erste Argument übernimmt die E-Mail-Adresse des Empfängers. Das zweite Argument übernimmt den Betreff der E-Mail. Das dritte Argument übernimmt den E-Mail-Text. Das letzte Argument ist optional und enthält zusätzliche Informationen der E-Mail als String oder Array.

Senden von E-Mails mit der Funktion mail()

In diesem Abschnitt des Tutorials werden verschiedene Beispiele für das Senden einer E-Mail mit der mail()-Funktion von PHP gezeigt.

Beispiel 1: Senden Sie eine einfache Text-E-Mail

Dieses Beispiel zeigt, wie eine einfache Text-E-Mail mit der Funktion mail() versendet werden kann. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.

Sie müssen eine gültige E-Mail-Adresse festlegen für $to Variable, um die Ausgabe des folgenden Skripts zu erhalten. Als Nachrichtentext wird ein einfacher Text festgelegt.

// E-Mail-Adresse des Empfängers einstellen
$to = "[email protected]";
//Betreff der E-Mail festlegen
$subject = "Es handelt sich um eine Test-E-Mail";
// E-Mail-Text festlegen
$message = "Es testet den E-Mail-Text";
//Setze die Header-Informationen
$headers = "Von: [email protected]\r\n";
$header .= "Antwort an: [email protected]\r\n";
//E-Mail mit der Funktion Message mail() senden
if(mail($an,$Betreff,$Nachricht,$Header))

echo "E-Mail wurde erfolgreich gesendet.\r\n";

sonst
echo "E-Mail wurde nicht gesendet.
";

?>

Die folgende Ausgabe erscheint, nachdem das Skript vom Webserver ausgeführt wurde, wenn die Funktion mail() ordnungsgemäß funktioniert.


Die folgende Ausgabe erscheint, wenn Sie den Posteingang der E-Mail-Adresse überprüfen, die als Empfänger-E-Mail-Adresse festgelegt wurde.

Beispiel 2: Senden Sie eine E-Mail im HTML-Format

Dieses Beispiel zeigt, wie eine HTML-formatierte E-Mail mit der Funktion mail() gesendet werden kann. Erstellen Sie eine PHP-Datei mit dem folgenden Skript.

$Nachricht Variable wird mit HTML-Inhalt initialisiert, der als E-Mail-Text gesendet wird. Es wird in der erwähnt $header Variable, dass der Inhalt der E-Mail HTML ist.

// E-Mail-Adresse des Empfängers einstellen
$to = "[email protected]";
//Betreff der E-Mail festlegen
$subject = 'Registrierung erfolgreich';
// E-Mail-Text festlegen
$Nachricht = '

Ihre Registrierung ist erfolgreich abgeschlossen.


Benutzername = fahida20

Passwort = aswQ34ghqw


';
//Wagenrücklauf setzen
$nl = "\r\n";
//Setze den Content-Type-Header
$headers = 'MIME-Version: 1.0'.$nl;
$header .= 'Inhaltstyp: text/html; Zeichensatz=iso-8859-1'.$nl;
//Setze die zusätzlichen Header-Informationen
$header .= 'An: Mehrab Hossain'.$nl;
$header .= 'Von: Administrator'.$nl;
$header .= 'Cc: [E-Mail geschützt]'.$nl;
//E-Mail mit der Funktion message mail() senden
if(mail($to,$subject,$message,$headers))
echo "E-Mail wurde erfolgreich gesendet.\r\n";

sonst
echo "E-Mail wurde nicht gesendet. \r\n";

?>

Die folgende Ausgabe erscheint, nachdem das Skript vom Webserver ausgeführt wurde, wenn die Funktion mail() ordnungsgemäß funktioniert.


Die folgende Ausgabe erscheint, wenn Sie den Posteingang der E-Mail-Adresse überprüfen, die als Empfänger-E-Mail-Adresse festgelegt wurde.

Beispiel 3: Senden Sie eine E-Mail mit dem Anhang

Dieses Beispiel zeigt, wie eine E-Mail versendet werden kann, indem eine Textdatei angehängt wird. Erstellen Sie eine Textdatei mit dem folgenden Skript.

Der Inhalt der Textdatei wird vor dem Anhängen gelesen und codiert und die Funktion md5() wird im Skript verwendet, um eine Zufallszahl für gemischte Inhalte zu generieren. Alle notwendigen Informationen werden in hinzugefügt $header und $Nachricht Variablen vor dem Senden der E-Mail.

// E-Mail-Adresse des Empfängers einstellen
$to = "[email protected]";
//Betreff der E-Mail festlegen
$subject = "Dateianhang";
//Wagenrücklauf setzen
$nl = "\r\n";
//Setzen Sie einen zufälligen Hash, der für gemischte Inhalte verwendet wird
$trennzeichen = md5(time());
//Lesen Sie den Inhalt der angehängten Datei
$Dateiname = 'meine Datei.TXT';
$inhalt = file_get_contents($filename);
$content = chunk_split(base64_encode($content));
//E-Mail-Nachricht mit Anhangsinformationen festlegen
$message = "--" . $trennzeichen . $nl;
$Nachricht .= "Inhaltstyp: text/plain; charset="iso-8859-1"" . $nl;
$Nachricht .= "Content-Transfer-Encoding: 8bit" . $nl;
$Nachricht .= "Eine Textdatei ist an die E-Mail angehängt." . $nl;
$Nachricht .= "--" . $trennzeichen . $nl;
$Nachricht .= "Inhaltstyp: application/octet-stream; name="" . $Dateiname . """ . $nl;
$Nachricht .= "Content-Transfer-Encoding: base64" . $nl;
$Nachricht .= "Inhaltsdisposition: Anhang" . $nl;
$Nachricht .= $inhalt . $nl;
$Nachricht .= "--" . $trennzeichen . "--";
//Setze den Content-Type-Header
$headers = 'MIME-Version: 1.0'.$nl;
$header .= "Von: [email protected]".$nl;
$header .= "Antwort an: [email protected]".$nl;
$header .= "Inhaltstyp: mehrteilig/gemischt; border="" . $trennzeichen . """ .$nl;
//E-Mail mit der Funktion Message mail() senden
if(mail($an,$betreff,$nachricht,$header))
echo "E-Mail mit Anhang erfolgreich gesendet.\r\n";

sonst
echo "E-Mail wurde nicht gesendet. \r\n";

?>

Die folgende Ausgabe erscheint, nachdem das Skript vom Webserver ausgeführt wurde, wenn die Funktion mail() ordnungsgemäß funktioniert.


Die folgende Ausgabe erscheint, wenn Sie den Posteingang der E-Mail-Adresse überprüfen, die als Empfänger-E-Mail-Adresse festgelegt wurde.

Fazit

In PHP gibt es viele Möglichkeiten, E-Mails zu senden. Die PHP-Mail()-Funktion funktioniert unter Ubuntu nach dem Einstellen der Konfiguration nicht richtig. Dieses Tutorial zeigt die notwendigen Konfigurationen und den Versand von E-Mails mit der PHP-Funktion mail().

So verwenden Sie Xdotool zum Stimulieren von Mausklicks und Tastenanschlägen in Linux
Xdotool ist ein kostenloses Open-Source-Befehlszeilentool zum Simulieren von Mausklicks und Tastenanschlägen. Dieser Artikel enthält eine kurze Anleit...
Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...