Ich habe eine PHP Mail-Klasse mit der Methode registerNewUser erstellt. Grundsätzlich, wie mein Titel sagt, die Methode kehrt wahr, wenn es falsch zurückgeben sollte, weil ich keine E-Mail erhalte. Kann mir jemand erklären, wenn ich etwas falsch mache? (Bitte kommentieren Sie nicht, dass ich dem Benutzer ein unverschlüsseltes Passwort sende. Dieses unverschlüsselte Passwort ist ein 25-stelliges alphanumerisches Zufalls-Passwort. Sicherheit ist hier kein Thema) Ich möchte keine Art von Framework verwenden. Ich möchte das mit der Hand programmieren, bitte sagen Sie mir nicht, PHPMailer oder etwas Ähnliches zu verwenden.Wie kann ich XAMPP für SMTP ausgehende E-Mail auf einem UNIX-Rechner einrichten
Edit: Ich finde heraus, dass ich XAMPP einrichten muss, um ausgehende E-Mails mit SMTP zu senden. Diese Frage ist kein Duplikat, da jede andere Frage auf jeder anderen Frage Windows-basiert ist und selbst dann keine Schritt-für-Schritt-Anleitung zum Einrichten von SMTP auf einem XAMPP-Localhost-Server enthält.
Hier ist der Code:
<?php
class Mail {
private $headers;
public function __construct() {
// Setting Up Mail Headers
$this->headers = "MIME-Version: 1.0 \r\n";
$this->headers .= "Content-type: text/html; charset=iso-8859-1 \r\n";
$this->headers .= "From: Admin @ NAStepsOnline <[email protected]>\r\n"."X-Mailer: php";
}
/**
* @desc Mails the User from registration email.
* This function should only be called through
* registerNew() within the user.class file
* @param str $userName First Name of the user
* @param str $userEmail Email address of the user
* @param str $userPass Password of user (UNENCRYPTED)
* @return bool True = Mail Sent Sucessfully
* False = Mail Not Sent
*/
public function registerNewUser($userName, $userEmail, $userPass) {
// Define Subject Line
$subject = "Thanks " . $userName . " for Registering On NAStepsOnline.com";
// Setting Up Message to the User
$msg = "<html><body>";
$msg .= $userName . " Thanks for registering at NAStepsOnline.com<br><br>";
$msg .= "Here is your password (case sensitive): " . $userPass . "<br><br>";
$msg .= "Please use the login form to login.<br>";
$msg .= "To assign a sponsor to your account please visit the Profile Settings page and click on My Sponsor.<br>";
$msg .= "If you have any problems please contact us using the Contact Us page.<br><br>";
$msg .= "Thanks,<br>The Team @ NAStepsOnline.com";
$msg .= "</body></html>";
// Mailing the user Registration
$mail = mail($userEmail, $subject, $msg, $this->headers);
if($mail) {
return true;
} else {
return false;
}
}
}
Haben Sie Spam eingecheckt? und sind Sie auf lokalen oder Live-Server. – shubham715
Localhost XAMPP-Server, der auf einer Unix-Plattform ausgeführt wird, hat den Spam-Ordner überprüft. Nichts. –
funktioniert nicht auf dem lokalen Server. Dafür musst du smtp verwenden. Sie können phpmailer verwenden, um E-Mails vom lokalen Computer zu senden. – shubham715