SwiftMailer错误未定义属性:Swift_Transport_StreamBuffer :: $ _ sequence

Osh*_*sor 12 php swiftmailer php-5.5

我正在使用SwiftMailer通过SMTP发送电子邮件.在PHP版本5.4的服务器上运行时,该库工作正常.但是,在将服务器升级到PHP 5.5之后,未发送电子邮件,服务器发出以下错误:

Undefined property: Swift_Transport_StreamBuffer::$_sequence
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?谢谢.

hak*_*kre 24

swift-mailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php改变

 private $_sequence = 0;
Run Code Online (Sandbox Code Playgroud)

 protected $_sequence = 0;
Run Code Online (Sandbox Code Playgroud)

然后消息就消失了.

我必须使用与旧版项目中不同版本的Swiftmailer我得到完全相同的错误通知.我的Swift::VERSION4.1.1.

  • 正如您可以在评论中看到的那样,在较新版本的Swiftmailer中,变量的变化与hakre在此描述的方式完全相同:https://github.com/swiftmailer/swiftmailer/issues/361 (2认同)

Osh*_*sor 4

我通过执行以下操作解决了该问题:

打开lib/classes/Swift/Transport/StreamBuffer.php

在类中添加私有$_sequence,如下所示:

class Swift_Transport_StreamBuffer extends Swift_ByteStream_AbstractFilterableInputStream implements Swift_Transport_IoBuffer
{
    private $_sequence; /** added to fix the undefined property error **/

    /** A primary socket */
    private $_stream;

    /** The input stream */
    private $_in;
...
Run Code Online (Sandbox Code Playgroud)