da ich nem Kumpel das Programmieren nahe bringen möchte und bisher immer auf dem Server gearbeitet habe, bin ich nun dabei eine locale Umgebung einzurichten inkl. SVN.
Soweit klappt alles schon fleißig, jedoch meine class zum email versenden via smtp funktioniert nicht mehr =(
Dabei will ich natürlich mit dem smtp server auf meinem Rootserver verbinden um die email zu versenden, offensichtlich scheint dies aber mit xampp nicht so einfach zu gehen.
Hat da Jemand einen tipp was ich machen muss?
Hier mal mein Script:
- Code: Select all
<?php
/* * * * * * * * * * * * * * SEND EMAIL FUNCTIONS * * * * * * * * * * * * * */
//This will send an email using auth smtp and output a log array
//logArray - connection,
function authSendEmail($to, $nameto, $subject, $message, $sendas)
{
/* * * * CONFIGURATION START * * * */
$from = "mail@domain.com";
$namefrom = "myfromname";
$smtpServer = "smtp.domain.com";
$username = "service@domain.com";
$password = "mypw";
$port = "25";
/* * * * CONFIGURATION END * * * * */
$localhost = "localhost";
$timeout = "30";
$newLine = "\r\n";
//Connect to the host on the specified port
$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";
}
//Request Auth Login
fputs($smtpConnect,"AUTH LOGIN" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authrequest'] = "$smtpResponse";
//Send username
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authusername'] = "$smtpResponse";
//Send password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authpassword'] = "$smtpResponse";
//Say Hello to SMTP
fputs($smtpConnect, "HELO $localhost" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['heloresponse'] = "$smtpResponse";
//Email From
fputs($smtpConnect, "MAIL FROM: $from" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailfromresponse'] = "$smtpResponse";
//Email To
fputs($smtpConnect, "RCPT TO: $to" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailtoresponse'] = "$smtpResponse";
//The Email
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data1response'] = "$smtpResponse";
//Construct Headers
$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";
// Say Bye to SMTP
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['quitresponse'] = "$smtpResponse";
//insert var_dump here -- uncomment out the next line for debug info
//var_dump($logArray);
}
?>
Wäre für eure Hilfe echt dankbar, weil mich das aktuell echt aufhält =(
MFG: Paykoman