mailgun-php: Uncaught InvalidArgumentException: First argument to "Http\Message\MultipartStream\MultipartStreamBuilder::createStream()" must be a string, resource or StreamInterface

<?php

declare(strict_types=1);

require_once './vendor/autoload.php';

use Mailgun\Mailgun;

define("API_KEY", "");
define("API_DOMAIN", "");
define("SUBLIST", "");
define("EMAIL", "");

$mailgun = Mailgun::create(API_KEY);
$mailgun->mailingList()->member()->create(
    SUBLIST,
    EMAIL,
    null, // name
    [],
    false,
    true
);

$parameters = [
    'name' => null, // name
    'subscribed' => 'yes',
];

$mailgun->mailingList()->member()->update(
    SUBLIST,
    EMAIL,
    $parameters
);

Null name will cause error:

PHP Fatal error: Uncaught InvalidArgumentException: First argument to “Http\Message\MultipartStream\MultipartStreamBuilder::createStream()” must be a string, resource or StreamInterface. in /home/zolotukhin/Projects/github/test-mailgun/vendor/php-http/multipart-stream-builder/src/MultipartStreamBuilder.php:332

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 1
  • Comments: 16

Most upvoted comments

$mg = Mailgun::create('secret');
$mg->mailingList()->member()->create('news@**.***.com', 'test@mail.com');

Also get the error

I got this when setting o:tracking to true instead of "true"

+1 Got the same error when trying too add member to mailing list.

@muzafarali use string zero instead of number zero:

‘priority’ => ‘0’