php – Swift Mailer电子邮件发送问题

我从他们的网站下载了Swift Mailer,并尝试使用以下代码发送简单的电子邮件

     <?PHP
     require_once 'lib/swift_required.PHP';

    $transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
    ->setUsername('your username')
     ->setPassword('your password')
      ;


    $mailer = Swift_Mailer::newInstance($transport);

  //Create a message
  $message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('john@doe.com' => 'John Doe'))
 ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
 ->setBody('Here is the message itself')
 ;

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

?&GT

一旦我运行页面,它就会出错

      Warning: fsockopen() [function.fsockopen]: PHP_network_getaddresses: getaddrinfo Failed: No such host is kNown. in E:\web_sites\swift_mail\lib\classes\Swift\Transport\StreamBuffer.PHP  on line 233

    Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.anyhost.com:25 (PHP_network_getaddresses: getaddrinfo Failed: No such host is kNown. ) in E:\web_sites\swift_mail\lib\classes\Swift\Transport\StreamBuffer.PHP on line 233

   Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection Could not be established with host smtp.domain.com [PHP_network_getaddresses: getaddrinfo Failed: No such host is kNown. #0]' in E:\web_sites\swift_mail\lib\classes\Swift\Transport\StreamBuffer.PHP:235 Stack trace: #0 E:\web_sites\swift_mail\lib\classes\Swift\Transport\StreamBuffer.PHP(70): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 E:\web_sites\swift_mail\lib\classes\Swift\Transport\AbstractSmtpTransport.PHP(101): Swift_Transport_StreamBuffer->initialize(Array) #2 E:\web_sites\swift_mail\lib\classes\Swift\Mailer.PHP(74): Swift_Transport_AbstractSmtpTransport->start() #3 E:\web_sites\swift_mail\test.PHP(33): Swift_Mailer->send(Object(Swift_Message)) #4 {main} thrown in E:\web_sites\swift_mail\lib\classes\Swift\Transport\StreamBuffer.PHP on line 235

如果我删除该行

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

然后页面执行,没有错误信息显示,一旦我添加上面的行发送电子邮件,我得到错误.

我的传出服务器,端口和用户ID&密码在我的文件中是正确的.

谢谢

解决方法:

它正在寻找服务器smtp.domain.org但无法解决它.

如果你查看堆栈交易中最后一步的行,你可以看到它抛出异常:

if (!$this->_stream = fsockopen($host, $this->_params['port'], $errno, $errstr, $timeout))
{
  throw new Swift_TransportException(
    'Connection Could not be established with host ' . $this->_params['host'] .
    ' [' . $errstr . ' #' . $errno . ']'
    );
}

所以你需要输入一个有效的smtp服务器或者在try / catch中包装send()行以捕获异常并将其记录到某处或忽略它

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...