发送<a> tag in body of email with Swift Mailer</a>

时间:2014-03-10 21:27:50

标签: php email-integration swiftmailer

我是Swift Mailer的新手,并希望在链接回我的主页的HTML消息正文中包含一个链接,但是,当我在消息中包含锚标记时,PHP脚本不会运行(脚本会当我包含一个不同的元素时工作,例如标题标记。不确定我可能缺少什么。

PHP:

 <?php require_once '../Swift/lib/swift_required.php';

    // Create the Transport
    $transport = Swift_SmtpTransport::newInstance()
    ->setUsername('admin@mazihealth.com')
    ->setPassword('adminxxxx');

    // Create the Mailer using your created Transport
      $mailer = Swift_Mailer::newInstance($transport);
      $message = Swift_Message::newInstance();
      $message->setSubject('My subject');
      $message->setFrom('abc@mazihealth.com');
      $message->setTo('abc3@gmail.com');
      $cid = $message->embed(Swift_Image::fromPath('images/MaziFinal_email.jpg'));
      $message->setBody(
      '<html>' .
      ' <head></head>' .
      ' <body>' .
      ' This is my message' .
      '<a href="'http://www.mazihealth.com'">Sign in</a>'.
      ' </body>' .
      '</html>',
      'text/html' // Mark the content-type as HTML
      );

    // Send the message
      $result = $mailer->send($message);

      echo $message->toString();

      ?>

1 个答案:

答案 0 :(得分:3)

您遇到语法错误。只需删除href中的单引号:

即可
$message->setBody(
    '<html>' .
    ' <head></head>' .
    ' <body>' .
    ' This is my message' .
    '<a href="http://www.mazihealth.com">Sign in</a>'.
    ' </body>' .
    '</html>',
    'text/html' // Mark the content-type as HTML
);

此外,您可能会发现使用heredoc语句更容易概述您的内容。它使阅读/编辑大字符串更容易。这是一个例子:

$body = <<<EOD
<html>
    <head></head>
    <body>
        This is my message .
        <a href="http://www.mazihealth.com">Sign in</a>
    </body>
</html>
EOD;

$message->setBody(
    $body,
    'text/html' // Mark the content-type as HTML
);