2013-02-19 218 views
0

我在脚本中遇到了一个非常奇怪的错误,我找不到错误。新的PHPMailer()破坏会话

我想在外部服务器上通过SMTP发送电子邮件,例如发送到gmail-Server。 发送电子邮件后,脚本应该使用其他参数重定向到自己。 会话ID也存储为$ _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(); 换行。

我现在正在寻找问题几个小时......我希望有人能够帮助我。

问候, 西蒙

+1

你用'$ _GET ['sid']手动维护会话吗? – 2013-02-19 14:20:01

+2

请记住,'http:// somedomain.com'不是'http:// www.somedomain.com',会话不会传递。也许这是你的问题? – 2013-02-19 14:20:07

+0

是的,我必须,我没有自己实现这个系统,但它保持这样的会话。 和Pekka,不,它的定义不是重定向。它运行良好,不会产生PHPMailer-Object ... – Hayo 2013-02-19 14:34:17

回答

0

我知道了,用删除线

$email="[email protected]"; 

没有问题了。 不知道为什么,但谢谢你的帮助!

+2

这真的没有意义......问题必须在其他地方。 – acme 2013-02-19 14:51:29

+0

是的,但在整个脚本中我还没有其他变量$ email或其他东西。我以为我覆盖了一个变量或类似的东西。 – Hayo 2013-02-19 15:03:47

+0

+1因为这没有意义。 – SDC 2013-02-19 15:58:08