У меня очень любопытная ошибка в моем скрипте, и я не могу найти ошибку.новый PHPMailer() разрушает сеанс
Я хочу отправить электронную почту через SMTP на внешний сервер, например, на gmail-сервер. После отправки электронной почты сценарий должен перенаправить себя с дополнительным параметром. Идентификатор сеанса также сохраняется как параметр $ _GET. Мой код выглядит следующим образом:
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = false;
$webmaster_email = "[email protected]";
$email="[email protected]";
$name="Simon";
$mail->From = $webmaster_email;
$mail->FromName = "Simon";
$mail->AddAddress($empfaenger, $row['name'] . " " .$row['name']);
$mail->AddReplyTo($webmaster_email,"Webmaster");
$mail->WordWrap = 50;
$mail->AddAttachment($filename);
$mail->IsHTML(false);
$mail->Subject = $betreff;
$mail->Body = $nachricht;
$mail->AltBody = $nachricht;
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
header('Location: http://somedomain.com/somedirectory?sid='.$_GET['sid'].'&step=step2&message=a1');
Проблема теперь, что моя сессия всегда теряется/уничтожена, я не знаю, на самом деле, что именно. Любопытная вещь: перенаправление работает, когда я комментирую новый PHPMailer(); линия вне.
Я ищу проблему сейчас несколько часов ... Я надеюсь, что кто-то сможет мне помочь.
Привет, Simon
Вы вручную поддерживаете сеанс с '$ _GET ['sid']? –
Имейте в виду, что 'http: // somedomain.com' не' http: // www.somedomain.com', и сеансы не будут перенесены. Может, это твоя проблема? –
Да, я должен, я не реализовал систему самостоятельно, но она поддерживает сеансы вроде этого. И Пекка, нет, это определенно не перенаправление. Он отлично работает, не генерируя PHPMailer-Object ... – Hayo