Pergunta

Meu código atual é este

$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();

o email::connect() Retorna uma instância do Swiftmailer.

Conforme esses documentos, parece que deve funcionar.

No entanto, eu recebo um erro

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

Eu já vi isso email::connect() faz exatamente o que o código de exemplo nos documentos faz. Aquilo é

  • Inclua o arquivo correto
  • devolver uma instância da biblioteca

O que estou fazendo errado?

Obrigado

Foi útil?

Solução

Você está usando um Swift_Mailer exemplo, não um Swift_Message Como no exemplo para o qual você vinculou.

Eu acho que você quer algo assim:

$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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top