Pregunta

Mi código actual es la siguiente

$swift = email::connect();


        $swift->setSubject('hello')
              ->setFrom(array('alex@example.com.au' => 'Alex'))
              ->setTo(array('alex@example.com.au' => 'Alex'))
              ->setBody('hello')  
              ->attach(Swift_Attachment::fromPath(DOCROOT . 'assets/attachments/instructions.pdf'));

        $swift->send();

El email::connect() devuelve una instancia de SwiftMailer .

Según estos documentos , parecería que debería funcionar.

Sin embargo, me da un error

Fatal error: Call to undefined method Swift_Mailer::setSubject() in /home/user/public_html/application/classes/controller/properties.php  on line 45

He visto que email::connect() hace exactamente lo que el código de ejemplo en la documentación hace. Es decir

  • incluir el archivo correcto
  • devolver una instancia de la biblioteca

¿Qué estoy haciendo mal?

Gracias

¿Fue útil?

Solución

Usted está utilizando una instancia Swift_Mailer, no un Swift_Message como en el ejemplo que vincula a.

Creo que quieres algo como esto:

$swift = email::connect();
$message = Swift_Message::newInstance();

        $message->setSubject('hello')
              ->setFrom(array('alex@example.com.au' => 'Alex'))
              ->setTo(array('alex@example.com.au' => 'Alex'))
              ->setBody('hello')  
              ->attach(Swift_Attachment::fromPath(DOCROOT . 'assets/attachments/instructions.pdf'));

        $swift->send($message);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top