E-Mail über smtp verschicken
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bevorzugen
code
erfahrung
file
http
konsole
lust
message
mime
output
port
protokoll
server
tag
telnet
text
type
url
verschicken
windows
-
Hallo
da ich am Tag mehr wie 50 Mail verschicken will, muss ich ja smtp verwenden. Wie kann es das mit PHP verwirklichen? Kennt ihr ein Tutorial wo das gut erklärt wird, alles was ich bisjetzt gefunden habe funktioniert nicht oder so umständlich erklärt das es kaum einer versteht. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hier ist ein Tutorial dazu:
http://mailinfo.kundenserver.de/auth_phpmailer.php3
LG cookies
@volnerius: Die sind bei lima aber auf 50 begrenzt. -
Verwende am Besten eine schon programmierte Lösung wie den PHPMailer (siehe Tut von cookies):
http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/
Ansosnten musst du dich mit SMTP selbst beschäftigen und mit dem Server direkt kommunizieren.
Das ist etwas kompliziert, daran lässt sich nix ändern. Solange man keine Erfahrung mit Protokollen hat und keine Lust sich da erst einzuarbeiten, sollte so eine Lösung wie PHPMailer bevorzugen.
Beitrag zuletzt geändert: 25.5.2010 14:59:13 von reimann -
Sollte selbsterklärend sein.
Näheres dazu: http://de.wikipedia.org/wiki/SMTPfunction SendEmail($to, $nameto, $subject, $message) { $smtpServer = 'mail.lima-city.de'; $port = '25'; $timeout = '30'; $username = 'mail@example.com'; $password = 'passwort'; $from = 'mail@example.com'; $namefrom = 'example mail'; $localhost = 'localhost';; $newLine = "\r\n"; $smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout); $smtpResponse = fgets($smtpConnect, 515); if(empty($smtpConnect)) { $output = "Failed to connect: $smtpResponse"; return $output; } else { $logArray['connection'] = "Connected: $smtpResponse"; } fputs($smtpConnect,"AUTH LOGIN" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['authrequest'] = "$smtpResponse"; fputs($smtpConnect, base64_encode($username) . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['authusername'] = "$smtpResponse"; fputs($smtpConnect, base64_encode($password) . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['authpassword'] = "$smtpResponse"; fputs($smtpConnect, "HELO $localhost" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['heloresponse'] = "$smtpResponse"; fputs($smtpConnect, "MAIL FROM: $from" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['mailfromresponse'] = "$smtpResponse"; fputs($smtpConnect, "RCPT TO: $to" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['mailtoresponse'] = "$smtpResponse"; fputs($smtpConnect, "DATA" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['data1response'] = "$smtpResponse"; $headers = "MIME-Version: 1.0" . $newLine; $headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine; $headers .= "To: $nameto <$to>" . $newLine; $headers .= "From: $namefrom <$from>" . $newLine; fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n"); $smtpResponse = fgets($smtpConnect, 515); $logArray['data2response'] = "$smtpResponse"; fputs($smtpConnect,"QUIT" . $newLine); $smtpResponse = fgets($smtpConnect, 515); $logArray['quitresponse'] = "$smtpResponse"; } ?>
Beitrag zuletzt geändert: 25.5.2010 15:07:51 von nerdinator -
Das Protokoll ist relativ simpel.
Öffne einfach mal eine Telnet Konsole (Windows Taste + R => "cmd" => Enter => telnet => Enter). Bei Win 7 muss es erst iwie aktiviert werden.
Dann schnapp dir ne Übersicht über die SMTP Befehle und connecte dich einfach mal und sende ne E-Mail via telnet.
Dannach solltest du dann acuh in der Lage sein, dass eben in PHP zu implementieren.
Gruß Lucas -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage