【问题标题】:PHP problems sending mail with swiftmailer使用 swiftmailer 发送邮件的 PHP 问题
【发布时间】:2013-12-22 19:01:36
【问题描述】:

所以我在使用 PHP 的邮件库 - swiftmailer 发送邮件时遇到了一些问题。 我想发送一些带有 pdf 附件的邮件,我已经通过 http://swiftmailer.org/pdf/Swiftmailer.pdf 学习了一些 swiftmailer 的 bacis,但我遇到了一些错误,我不知道如何解决它们。

我的php代码:

 <?php
 require_once 'lib/swift_required.php';
 if (isset ( $_POST ['email'] )) {
$email = $_POST ['email'];
setlocale ( LC_ALL, 'sl_SI.UTF-8' ); // with this I include so I can use č,š in ž
$array = array (
     "c",
     "č",
     "s",
     "š",
     "z",
     "ž"
      );
     usort ( $array, 'strcoll' );

     $subject = "Name of the mail";
     $message = "Dear sir or madame, this is my email message and you have some pdf attachments";

//the code of library
$message = Swift_Message::newInstance()
->setSubject($subject)
->setFrom(array('robertp@gmail.com' => 'Robert P'))
->setTo(array($email => 'Reciver'))
->setBody(->attach(Swift_Attachment::fromPath('home/public_html/Attachment1.pdf')->setFileName('Name of my PDF file1.pdf'))
          ->attach(Swift_Attachment::fromPath('home/public_html/Attachment2.pdf')->setFileName('Name of my PDF file2.pdf'));

 echo "The mail has been send";
 }

 ?>

还有我的问题:

 Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 'Address in mailbox 
 given [] does not comply with RFC 2822, 3.6.2.' 
 in /home/public_html/lib/classes/Swift/Mime/Headers/MailboxHeader.php:352 Stack trace: 

 #0 /home/public_html/Flib/classes/Swift/Mime/Headers/MailboxHeader.php(264):                     
 Swift_Mime_Headers_MailboxHeader->_assertValidAddress('') 
 #1 /home/public_html/lib/classes/Swift/Mime/Headers/MailboxHeader.php(108): 
 Swift_Mime_Headers_MailboxHeader->normalizeMailboxes(Array) 
 #2 /home/public_html/lib/classes/Swift/Mime/Headers/MailboxHeader.php(65): 
 Swift_Mime_Headers_MailboxHeader->setNameAddresses(Array) 
 #3 /home/public_html/lib/classes/Swift/Mime/SimpleHeaderFactory.php(60): 
 Swift_Mime_Headers_MailboxHeader->setFieldBodyModel(Array) 
 #4 /home/public_html/lib/classes/Swift/Mime/SimpleHeaderSet.php(70): 
 Swift_Mime_SimpleHeaderFactory->createMailboxHeader('To', Array) 
 #5 /home/ in /home/public_html/lib/classes/Swift/Mime/Headers/MailboxHeader.php on line 352

【问题讨论】:

  • 从给出的消息中我会说$_POST['email'] 已设置,但为空字符串。

标签: php email pdf


【解决方案1】:

array($email =&gt; 'Reciver') 问题是Reciver 不是有效的电子邮件地址。 something@like.this 将是有效的。所以试试array($email =&gt; 'something@like.this')

【讨论】:

  • 邮件是 rp6292@student.uni-lj.si 所以我不知道该如何解决这个问题...
  • 转到该库并让验证电子邮件的代码始终返回 true,或类似的东西。或者您可以使用此boun.cr 使该电子邮件“有效”。
  • 顺便说一句。试试setTo(array('Reciver' =&gt; $email)) 而不是setTo(array($email =&gt; 'Reciver'))
猜你喜欢
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多