嵌入swiftmailer中的函数不起作用

时间:2013-12-23 08:18:03

标签: php swiftmailer

我想通过电子邮件内联和发送我们公司的徽标不是依恋。我有这个代码用于发送电子邮件。

$transport = Swift_SmtpTransport::newInstance('hostname', port, 'ssl')
    ->setUsername('email')
    ->setPassword('password');

$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Subject')
    ->setFrom(array('example@example.com' => 'example'))
    ->setTo($email)
    ->setBody('
<html>
<body>
  <img src="' . $message->embed(Swift_Image::fromPath('images/maillogo.jpg')) . '" />
  <p align="left"> Greetings, </p>
  <br>
  <p align="left"> Dear ' . $firstname . '
  <p align="left"> Your order ' . $orderid . ' has been placed with us. Kindly expect the delivery before 9pm.</p>
  <br>
  <p align="left"> Thank you for Shopping with us. Have a great day. </p>
</body>
</html>',
    'text/html');

$result = $mailer->send($message);

但是我收到此错误

Call to a member function embed() on a non-object. 知道如何解决这个问题吗?看了这么多主题,但无法得到答案。

我也尝试了这种方法,但它发送了一封带附件的电子邮件。第一行没有标识。

->attach(Swift_Attachment::fromPath('path to image here.jpg')  
->setDisposition('inline'));

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在将变量$message设置为任何值之前,您正在使用它。 尝试拆分“流畅的”界面调用,以便$message在调用setBody

之前具有值