Potrzebuje waszej pomocy

05.08.13, 09:21
Witam
Mam spory program z edycja podstrony kontakt w tworzonej przeze mnie witrynie. Bardzo proszę o pomoc. Poniżej wklejam kod skryptu:

<?php

if (!empty($_POST)) {
// email recipient
define('EMAIL_RECIPIENT', 'michal.garski@wp.pl'); // the email address where you want the contact form message to be sent

define('SMTP_HOSTNAME', 'smtp.wp.pl'); // the hostname of the SMTP server
define('SMTP_PORT', '465'); // the port used by your SMTP server
define('SMTP_USERNAME', 'michal.garski'); // if authentication is required, the username used to login to your SMTP server
define('SMTP_PASSWORD', 'moje hasło'); // if authentication is required, the password used for login to your SMTP server
define('SMTP_AUTHENTICATION_TYPE', 'SSL'); // if authentication is required, the authentication protocol used by your SMTP server

// add extra parameters from $_POST for both alt body and msg html
$subject = $name = $extra_parameters_alt_body = $extra_parameters_msg_html = '';
if (!empty($_POST)) {
$extra_parameters_alt_body = "";
$extra_parameters_msg_html = "";

$extra_parameters = array();
foreach ($_POST as $key => $value) {
preg_match('/(^[^0-9]+)([0-9]+$)/', $key, $matches);
switch ($matches[1]) {
case 'subject':
$subject = trim($value);
break;
case 'email':
$email = trim($value);
break;
case 'name':
$name = trim($value);
break;
}

if (trim($value) != '') {
$extra_parameters[$matches[2]] = array(
'key' => $matches[1],
'value' => trim($value)
);
}
}
ksort($extra_parameters);

foreach ($extra_parameters as $extra_parameter) {
$extra_parameters_alt_body .= "\r\n{$extra_parameter['key']}: ".strip_tags($extra_parameter['value']);
$extra_parameters_msg_html .= "<tr><td>{$extra_parameter['key']}</td><td>{$extra_parameter['value']}</td></tr>";
}
}

// depending on the PHP version and smtp settings, include the right PHPMailer class
$mailer = null;
switch (true) {
case (int)PHP_VERSION == 4:
require_once(dirname(__FILE__)."/phpmailer/php4/class.phpmailer.php");
$mailer = new PHPMailer();
break;
case SMTP_HOSTNAME !== 'smtp.wp.pl':
require_once(dirname(__FILE__)."/phpmailer/class.phpmailer.php");
$mailer = new PHPMailer();
break;
default:
require_once(dirname(__FILE__)."/phpmailer/class.phpmailer-lite.php");
$mailer = new PHPMailerLite();
break;
}


// prepare the mailer object: mail server settings
if (SMTP_HOSTNAME !== 'smtp.wp.pl') {
$mailer->IsSMTP();
if (SMTP_USERNAME === 'michal.garski' && SMTP_PASSWORD === 'moje haslo') {
$mailer->SMTPAuth = true;
if (SMTP_AUTHENTICATION_TYPE !== 'SSL') {
$mailer->SMTPSecure = SMTP_AUTHENTICATION_TYPE;
}
$mailer->Host = SMTP_HOSTNAME;

if (SMTP_PORT !== '465') {
$mailer->Port = SMTP_PORT;
}

$mailer->Username = SMTP_USERNAME;
$mailer->Password = SMTP_PASSWORD;
}
} else {
$mailer->IsMail();
}

// prepare the mailer object: email data
if ((int)PHP_VERSION == 4) {
$mailer->From = $email;
$mailer->FromName = !empty($name) ? $name : 'Formularz kontaktowy';
} else {
$mailer->SetFrom($email, !empty($name) ? $name : 'Formularz kontaktowy');
}

if ((int)PHP_VERSION >= 4) {
$mailer->CharSet = 'UTF-8';
}

$mailer->Subject = $subject;
$mailer->AddAddress(EMAIL_RECIPIENT, 'michal.garski@wp.pl');
$mailer->AddReplyTo($email, !empty($name) ? $name : 'Formularz kontaktowy');
$mailer->AltBody = "\r\n{$extra_parameters_alt_body}"; // IP: {$_SERVER['REMOTE_ADDR']}
$mailer->MsgHTML("<table>{$extra_parameters_msg_html}</table>"); // <tr><td>IP</td><td>{$_SERVER['REMOTE_ADDR']}</td></tr>

// send the email
if ($mailer->Send()) {
echo 'SUCCESS';
} else {
echo 'ERROR';
}
}

?>

Po skorzystaniu z formularza na stronie pojawia sie komunikat, że wiadomość została wysłana. Jednak e-maile nie dochodzą. Co może być nie tak?
Pełna wersja