Reputation: 101
Being trying to use Mailgun on a tutorial. I get this error and I am stuck…
Error
Fatal error Uncaught exception: ‘Http\Discovery\Exception\NotFoundException’
Message: ‘No PSR-17 url factory found. Install a package from this list: https://packagist.org/providers/psr/http-factory-implementation’
composer.json
{
"require": {
"twig/twig": "~2.0",
"mailgun/mailgun-php": "^3.0",
"php-http/guzzle6-adapter": "^2.0",
"php-http/message": "^1.8"
},
"autoload": {
"psr-4": {
"App\\": "App/"
}
}
}
Call to Mail Class
Mail::send('[email protected]','Test','This is a test', '<h1>This is a test</h1>');
Mail Class
namespace App;
use App\Config;
use Mailgun\Mailgun;
/**
* Mail
*
* PHP version 7.0
*/
class Mail
{
/**
* Send a message
*
* @param string $to Recipient
* @param string $subject Subject
* @param string $text Text-only content of the message
* @param string $html HTML content of the message
*
* @return mixed
*/
public static function send($to, $subject, $text, $html)
{
//$myApi = "8376be5527cfdef0553e922311897911-bbbc8336-db54a219";
$domain = "https://app.mailgun.com/app/sending/domains/sandboxa38feaf00c804083b97e97be976b62d5.mailgun.org";
# First, instantiate the SDK with your API credentials
$mg = Mailgun::create('8376be5527cfdef0553e922311897911-bbbc8336-db54a219');
# Now, compose and send your message.
# $mg->messages()->send($domain, $params);
$mg->messages()->send($domain, [
'from' => 'Excited User <mailgun@$domain>',
'to' => $to,
'subject' => $subject,
'text' => $text
]);
}
}
After
composer require mailgun/mailgun-php kriswallsmith/buzz nyholm/psr7 Using version ^3.0 for mailgun/mailgun-php Using version ^1.0 for kriswallsmith/buzz Using version ^1.2 for nyholm/psr7 ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.
Problem 1 - Conclusion: don't install kriswallsmith/buzz 1.0.1 - Conclusion: remove symfony/options-resolver v5.0.2 - Installation request for kriswallsmith/buzz ^1.0 -> satisfiable by kriswallsmith/buzz[1.0.0, 1.0.1]. - Conclusion: don't install symfony/options-resolver v5.0.2 - kriswallsmith/buzz 1.0.0 requires symfony/options-resolver ^3.4 || ^4.0 -> satisfiable by symfony/options-resolver[v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.4, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.0.0, v4.0.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.1, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1, v4.4.2]. - Can only install one of: symfony/options-resolver[v3.4.0, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.1, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.10, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.11, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.12, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.13, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.14, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.15, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.16, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.17, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.18, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.19, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.2, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.20, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.21, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.22, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.23, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.24, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.25, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.26, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.27, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.28, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.29, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.3, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.30, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.31, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.32, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.33, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.34, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.35, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.36, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.4, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.5, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.6, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.7, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.8, v5.0.2]. - Can only install one of: symfony/options-resolver[v3.4.9, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.0, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.1, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.10, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.11, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.12, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.13, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.14, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.15, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.2, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.3, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.4, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.5, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.6, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.7, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.8, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.0.9, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.0, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.1, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.10, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.11, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.12, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.2, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.3, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.4, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.5, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.6, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.7, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.8, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.1.9, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.0, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.1, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.10, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.11, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.12, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.2, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.3, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.4, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.5, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.6, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.7, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.8, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.2.9, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.0, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.1, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.2, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.3, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.4, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.5, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.6, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.7, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.8, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.3.9, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.4.0, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.4.1, v5.0.2]. - Can only install one of: symfony/options-resolver[v4.4.2, v5.0.2]. - Installation request for symfony/options-resolver (locked at v5.0.2) -> satisfiable by symfony/options-resolver[v5.0.2].
Installation failed, reverting ./composer.json to its original content.
Upvotes: 1
Views: 1229
Reputation: 4851
The Mailgun API Client is not hard coupled to Guzzle, Buzz or any other library that sends HTTP messages. Instead, it uses the PSR-18 client abstraction. This will give you the flexibility to choose what PSR-7 implementation and HTTP client you want to use.
Try this command on composer:
composer require mailgun/mailgun-php kriswallsmith/buzz nyholm/psr7
After you updating your question.in log says symfony/options-resolver
already have an older version installed. you must pick one of them. (v3.4.1 or v5.0.2)
I think if you update it. it will be fix :
composer update symfony/options-resolver
Upvotes: 2