Mail Versand per SMTP auf 1&1 Linux Root Server einrichten
Ich bin auf einen neues Problem mit dem Standard-Setup der 1&1 Linux Root Server getoßen. Vor dem Umzug auf den Root Server wurde ein 1&1 Managed Homepage Server genutzt. Dieser hat keinen eigenen Mailserver installiert. Der Root Server hingegen verschickt die Mails direkt an den Empfänger und nicht wie der Managed Server über den 1&1 SMTP Server. Doch wieso ist das ein Problem?
Nun, durch das zunehmende Problem von SPAM werden bei den meisten Mailanbeitern alle Mails von Severn abgelehnt, die nicht als vertrauerswürdiger Mailserver in einer Whitelist eingetragen sind. Der eigene Root-Server ist in diesen Listen allerdings fast nie gelistet. Beim Versuch eine Mail an einen Freemailer wie z.B. GMX zu senden resultiert dann in einer Ablehnung seitens GMX. Diese sehen in der Regel wie folgt aus:
Hi. This is the qmail-send program at sXXXXXXXX.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.
<user@gmx.de>:
XXX.XXX.XX.XXX does not like recipient.
Remote host said: 550-5.7.1 {mx087} Sorry, your helo has been denied.
550 5.7.1 ( http://portal.gmx.net/serverrules ) Giving up on XXX.XXX.XX.XXX.
Die Lösung des Problems ist die Versendung der Mail über den SMTP-Server von 1&1. Hierbei gibt es allerdings ein kleines Problem. Damit der 1&1 Mailserver nicht als SPAM-Verteiler missbraucht werden kann, muss sich das sendende Skript an diesem Server authentifizieren. Dazu ist eine beliebiege E-Mail Adresse eures Servers notwendig. Ich würde euch empfehlen dazu eine spezielle Adresse wie z.B. “websitesend@example.com” anzulegen.
Das wäre soweit auch kein Problem, allerdings unterstützen einigen Skriptsprachen nicht von Hause aus die SMTP-Authentifizierung an einem Server. Auch PHP bietet leider keinerlei Einstellungen für die Authentifizierung. Lediglich der Mailserver kann angegeben werden, über den die Mail versendet werden soll. Die mail() Funktion von 1&1 könnt ihr also nicht verwenden.
Abhilfe schafft hier eine Mail-Klasse, die auch eine SMTP-Authentifizierung anbieten. Ich nutze schon seit längerem in allen Projekte die PHP-Klasse PHPMailer. Diese bietet auch eine SMTP-Authentifizierung. Einfache Beispiele zur Verwendung der SMTP-Authentifizierung mit PHPMailer findest ihr auch auf der Website von PHPMailer. Ein Beispiel für den Versand einer Mail über den SMTP von 1&1 könnte wie folgt aussehen:
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail->CharSet = 'utf-8';
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.1und1.de";
$mail->Username = "websitesend@example.com";
$mail->Password = "password_for_websitesend";
$mail->AddReplyTo('your_mail_address@example.com');
$mail->Subject = 'Subject of the mail';
$mail->AltBody = 'Text for users without a HTML mail viewer';
$mail->MsgHTML('Text for users with a HTML ready mail viewer');
$mail->AddAddress('user@gmx.de');
if(!$mail->Send()) {
echo "Fehler beim Senden der Mail: " . $mail->ErrorInfo;
} else {
echo "Mail wurde erfolgreich versandt!";
}
Zugegebenermaßen sind das sehr vielke Zeilen für den Mailversand einer einzelnen Mail. Aber leider ist es nicht sehr viel kürzen möglich. Damit ihr aber nicht in jedem Skript, in dem ihr eine Mail versenden möchtet, alles von neuem schreiben und bei Änderungen in jedem Skript anpassen müsst, empfiehlt es sich die Zeilen 1.8 in eine PHP-Datei zu exporieren und diese per “require” in das Skript zu importieren, in der ihr die Mail verschicken wollt.
Die Verwendung der PHPMailer Klasse bietet aber auch ein paar Vorteile gegenüber der mail() Funktion von PHP. Ihr könnt nämlich sehr einfach weitere Empfänger hinzufügen, indem ihr die “$mail->AddAddress()” mehrfach anwendet. Es gibt auch eine Funktion für Kopien: “$mail->AddCC()” und blinde Kopien: “$mail->AddBCC()” oder auch Anhänge: “$mail->AddAttachment()”. Seht euch dazu einfach mal die Liste der Methoden an.
Ich hoffe, dass euch die kleine Anleitung helfen konnte. Wenn ihr noch Anmerkungen oder Fragen habt, oder auch eine andere gute PHP-Klasse oder eine entsprechende Funktion für andere Skrtipsprachen kennt, würde ich mich über einen Kommentar sehr freuen.
Plesk Backup-Manager auf 1&1 Linux Root Server einrichten
Ich habe bei einem Server den ich betreue ein paar Probleme beim Einrichten des Backup-Managers über das Plesk Panel festgestellt. Daher habe ich hier ein kleines Tutorial zusammengestellt, welches das Einrichten des Backup-Managers auf einem 1&1 Dedicated Server Linux beschreiben soll. Auf anderen Servern wird die Einrichtung bis auf ein parr Punkt aber identisch sein.
Der 1&1 Server verwendet Plesk in der Version 9.2. Im ersten Schritt müsst ihr euch im Plesk Panel anmelden anschließend gelangt ihr auf die Startseite wo ihr im Abschnitt Server einen Button für den Backup-Manager finden solltet:
WordPress auf einem Server mit Plesk installieren
Mein Blog läuft auf einem virtuellen Root Server, der Plesk zur Administration verwendet. Im Zusammenhang mit der Installation hatte ich einige Probleme bezüglich der Zugriffsrechte. Auf der Website von WordPress gibt es zwar eine sehr ausführliche Anleitung zum Ändern der Zugriffrechte, aber sie beantwortet nicht alle Fragen, die man beim Einrichten auf einem System mit Plesk hat.
Zuerst müsst Ihr entscheiden, wo der Blog installiert werden soll. Entweder direkt auf einer eurer Domains oder auf einer Subdomain. Diese müsst ihr eventuell zuerst über Plesk erzeugen und dort die PHP-Unterstützung aktivieren.








