doumi1912
2015-12-28 16:49
浏览 45
已采纳

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')
                                )
);

图片转代码服务由CSDN问答提供 功能建议

尝试使用mailgun附加文件时出现此错误。

  致命错误:未捕获异常'Guzzle \ Http \ Exception \ CurlException',消息'[curl] 26:无法打开文件“zzz.txt”[url] https://api.mailgun.net/v2/ 沙箱8df78f0cdbc646aeb2a46999a8c6def5.mailgun.org/messages'在C:\ xampp \ htdocs \ tutlage 
ewsletter \ vendor \ guzzle \ guzzle \ src \ Guzzle \ Http \ Curl \ CurlMulti.php:359堆栈跟踪:#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),数组)#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 \ guz  zle \ src \ Guzzle \ Http \ Curl \ CurlMulti.php(240):Guzzle \ Http \ Curl \ CurlMulti-> processMessages()#3 C:\ xampp \ htdocs \ tutlage 
ewsletter \ vendor \ guzzle \ guzzle \ src  \ Gzzle \ Http \ Curl \ C in C:\ xampp \ htdocs \ tutlage 
ewsletter \ vendor \ guzzle \ guzzle \ src \ Guzzle \ Http \ Curl \ CurlMulti.php 359行
    
 
 

如何解决此问题? 这是一个guzzle证书问题吗?

我附加了这样的文件(这里没有错)(文件可以通过php访问):

  $ mg-> sendMessage($ domain,array('from'=>  '...',
'到'=>  '...',
'subject'=>  '...',
'text'=>  '...'
),array(
'attachment'=> array('zzz.txt')
)
); 
   
 
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 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 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)));
    
    打赏 评论

相关推荐 更多相似问题