如何为Mailjet官方PHP封装库指定代理及连接超时配置
解决方案
你之前的配置不生效是因为Mailjet无Composer版PHP SDK的构造参数有层级要求,HTTP请求相关的配置不能直接放在第四个数组的根层级,必须放到request_options子数组下,且参数名需要使用SDK客户端类预定义的常量,避免拼写/大小写不匹配。
正确的配置写法如下:
$mj = new \Mailjet\Client( APIKEY, APIKEY2, true, [ 'version' => 'v3.1', // 所有请求相关配置都要放在request_options子数组下 'request_options' => [ \Mailjet\Client::CONNECT_TIMEOUT => 4, \Mailjet\Client::PROXY => [ 'http' => '你的代理地址', 'https' => '你的代理地址' ], // 如有需要可以在这里添加其他请求配置,比如普通请求超时 \Mailjet\Client::TIMEOUT => 15 ] ] );
该写法会自动将你传入的请求配置和SDK默认的$requestOptions数组合并,不需要修改源码就能覆盖默认值,所有官方支持的请求配置项都可以按照这个格式传入。
内容的提问来源于stack exchange,提问作者Vae
相关产品推荐
相关产品推荐

