doumi1912
2015-12-28 16:49 阅读 44
已采纳

mailgun,guzzle卷曲错误

I have this error when trying to attach a file with mailgun.

Fatal error: Uncaught exception 'Guzzle\Http\Exception\CurlException' with message '[curl] 26: couldn't open file "zzz.txt" [url] https://api.mailgun.net/v2/sandbox8df78f0cdbc646aeb2a46999a8c6def5.mailgun.org/messages' in C:\xampp\htdocs\tutlage
ewsletter\vendor\guzzle\guzzle\src\Guzzle\Http\Curl\CurlMulti.php:359 Stack trace: #0 C:\xampp\htdocs\tutlage
ewsletter\vendor\guzzle\guzzle\src\Guzzle\Http\Curl\CurlMulti.php(292): Guzzle\Http\Curl\CurlMulti->isCurlException(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Curl\CurlHandle), Array) #1 C:\xampp\htdocs\tutlage
ewsletter\vendor\guzzle\guzzle\src\Guzzle\Http\Curl\CurlMulti.php(257): Guzzle\Http\Curl\CurlMulti->processResponse(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Curl\CurlHandle), Array) #2 C:\xampp\htdocs\tutlage
ewsletter\vendor\guzzle\guzzle\src\Guzzle\Http\Curl\CurlMulti.php(240): Guzzle\Http\Curl\CurlMulti->processMessages() #3 C:\xampp\htdocs\tutlage
ewsletter\vendor\guzzle\guzzle\src\Guzzle\Http\Curl\C in C:\xampp\htdocs\tutlage
ewsletter\vendor\guzzle\guzzle\src\Guzzle\Http\Curl\CurlMulti.php on line 359

How to fix this ? Is it a guzzle certificate issue ?

I attach the file like this (nothing wrong here) (file is accessible by php) :

$mg->sendMessage($domain, array('from'    => '...',
                                'to'      => '...',
                                'subject' => '...', 
                                'text'    => '...'
                                ), array(
                                    'attachment' => array('zzz.txt')
                                )
);
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    dongqian1925 dongqian1925 2015-12-31 17:03

    Apparently, the file zzz.txt could not be found in the current directory, you should specify it's location either absolute or relative, for example, using the __DIR__ constant:

    $mg->sendMessage(
        $domain, 
        array(
            'from' => '...',
            'to' => '...',
            'subject' => '...', 
            'text' => '...',
        ), 
        array(
            'attachment' => array(
                __DIR__ . '/foo/bar/zzz.txt',
            ),
        ),
    );
    

    For reference, see http://php.net/manual/en/language.constants.predefined.php.

    点赞 评论 复制链接分享
  • donglan9651 donglan9651 2016-06-27 08:06

    It's works good for me. Try the following code

    define('ROOTPATH', dirname(__FILE__));
    $filePath = ROOTPATH.'/textfile.txt';
    $result = $mgClient->sendMessage("$domain",
        array('from'    => 'from address',
            'to'      => 'to addreess',
            'subject' => 'Find Attachment',         
            'html'    => '<h2>HTML</h2>'),
        array('attachment' => array($filePath)));
    
    点赞 评论 复制链接分享

相关推荐