PackageTrack
Sign in Get early access

mailgun/mailgun-php

The Mailgun SDK provides methods for all API functions.

v4.5.1 32M downloads/mo #874 most downloaded on Packagist mailgun/mailgun-php

What this package is like to depend on

Last release 2 months ago

23 Jun 2026

Release timing varies

gaps range from 4 weeks to 10 months

Most releases are documented

notes for 52 of 64 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

66 releases · first in 2013

5 releases in the last 12 months

see the full history below

Release timeline

66 releases · Aug 2013 to Jun 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 60 of 66
  1. v4.5.1 23 Jun 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v4.5.0...v4.5.1

    Open source →
    Release notes

    Fixed

    • Mailgun::webhooks() no longer requires an explicit $signingKey argument. When omitted, it falls back to the API key stored on the Mailgun instance, restoring compatibility with pre-v4.3.7 usage patterns (issue #947).
    Open source →
    Release notes

    v4.5.1 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. v4.5.0 29 Apr 2026
    Release notes

    What's Changed

    Full Changelog: v4.4.0...v4.5.0

    Open source →
    Release notes

    Added

    • Completed IP Pools (DIPP) API coverage — all 11 remaining endpoints now implemented in Mailgun\Api\Ip:
      • listIpPools()GET /v3/ip_pools
      • createIpPool(name, description)POST /v3/ip_pools
      • updateIpPool(poolId, data)PATCH /v3/ip_pools/{pool_id} (add/remove IPs, rename, link/unlink domains)
      • getIpPoolDomains(poolId, limit, page)GET /v3/ip_pools/{pool_id}/domains
      • addIpToPool(poolId, ip)PUT /v3/ip_pools/{pool_id}/ips/{ip}
      • removeIpFromPool(poolId, ip)DELETE /v3/ip_pools/{pool_id}/ips/{ip}
      • addIpsToPool(poolId, ips[])POST /v3/ip_pools/{pool_id}/ips.json
      • delegateIpPool(poolId, subaccountId)PUT /v3/ip_pools/{pool_id}/delegate
      • revokeDelegatedIpPool(poolId, subaccountId)DELETE /v3/ip_pools/{pool_id}/delegate
      • assignIpToAllDomains(ip)POST /v3/ips/{ip}/domains
      • removeIpFromAllDomains(ip, alternative)DELETE /v3/ips/{ip}/domains
      • listIpsDetailed(params)GET /v3/ips/details/all
    • Added 5 new response model classes:
      • Mailgun\Model\Ip\IpPoolsResponse — pool list with pool_id, name, description, ips[], is_inherited, is_linked
      • Mailgun\Model\Ip\IpPoolResponse — single pool details (replaces incorrect UpdateResponse usage)
      • Mailgun\Model\Ip\IpPoolDomainsResponse — paginated domain list with nextPage cursor
      • Mailgun\Model\Ip\IpReferenceResponse — async-operation responses carrying message + reference_id
      • Mailgun\Model\Ip\IpDetailsResponse — detailed IP list for /v3/ips/details/all
    • Added 31 tests covering all Ip API methods, including request URI/body assertions and response model property checks

    Fixed

    • loadDIPPInformation() was hydrating into UpdateResponse (message-only); now correctly returns IpPoolResponse
    • deleteDIPP() replacement parameters ($ip, $repPoolId) were wrongly required; both are now optional (?string = null)
    • deleteDIPP() URL was built via unsafe string concatenation; replaced with proper http_build_query construction
    • addNewDIPPIntoAccount() used unsafe direct array key access ($data['description']); replaced with null-coalescing guard
    • placeAccountIpToBand() had a redundant Assert::stringNotEmpty() call alongside Assert::ip() on the same value

    Changed

    • addNewDIPPIntoAccount() marked @deprecated in favour of the explicit createIpPool(string $name, string $description) method
    Open source →
    Release notes

    v4.5.0

    Compare

    Choose a tag to compare

    Open source →
  3. v4.4.0 21 Mar 2026
    Release notes

    What's Changed

    Full Changelog: v4.3.7...v4.4.0

    Open source →
    Release notes

    v4.4.0

    Compare

    Choose a tag to compare

    Open source →
  4. v4.3.7 22 Feb 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v4.3.6...v4.3.7

    Open source →
    Release notes

    v4.3.7

    Compare

    Choose a tag to compare

    Open source →
  5. v4.3.6 18 Jan 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v4.3.5...v4.3.6

    Open source →
    Release notes

    v4.3.6

    Compare

    Choose a tag to compare

    Open source →
  6. v4.3.5 06 Apr 2025
    Release notes

    What's Changed

    Full Changelog: v4.3.4...v4.3.5

    Open source →
    Release notes
    • Implemented AccountManagement API endpoints:
      • updateAccountSettings for PUT /v5/accounts
      • getHttpSigningKey for GET /v5/accounts/http_signing_key
      • createHttpSigningKey for POST /v5/accounts/http_signing_key
      • getSandboxAuthRecipients for GET /v5/sandbox/auth_recipients
    • Added model classes for AccountManagement API responses:
      • AccountResponse
      • HttpSigningKeyResponse
      • SandboxAuthRecipientsResponse
    • Updated Mailgun class to include AccountManagement API.
    Open source →
    Release notes

    v4.3.5

    Compare

    Choose a tag to compare

    Open source →
  7. v4.3.4 02 Apr 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v4.3.3...v4.3.4

    Open source →
    Release notes
    • Extended limit of tags to 10.
    Open source →
    Release notes

    v4.3.4

    Compare

    Choose a tag to compare

    Open source →
  8. v4.3.3 29 Dec 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v4.3.2...v4.3.3

    Open source →
    Release notes
    • Fixed way of sending request with JSON body. loadMetrics works. Adjusted tests. Fixed warning related to the php 8.4 and nullable types
    Open source →
    Release notes

    v4.3.3

    Compare

    Choose a tag to compare

    Open source →
  9. v4.3.2 26 Sep 2024
    Release notes

    What's Changed

    Full Changelog: v4.3.1...v4.3.2

    Open source →
    Release notes
    • Added new API endpoint for getting metrics @see https://documentation.mailgun.com/docs/mailgun/api-reference/openapi-final/tag/Metrics/
    Open source →
    Release notes

    v4.3.2

    Compare

    Choose a tag to compare

    Open source →
  10. v4.3.1 17 Aug 2024
    Release notes

    What's Changed

    Full Changelog: v4.3.0...v4.3.1

    Open source →
    Release notes
    • Add method for retrieving stored messages by @oleksandr-mykhailenko in #920
    • Add missed params to the create method for DomainV4.php by @oleksandr-mykhailenko in #921
    Open source →
    Release notes

    v4.3.1

    Compare

    Choose a tag to compare

    Open source →
  11. v4.3.0 10 Aug 2024
    Release notes
    • End of support php 7.3
    • Updated properties and added types to the classes properties
    • Update code style
    • Add missed field into IndexResponse for Webhooks
    • Fixed template search filters
    • Fixed tags API endpoints
    • Added new API endpoints
    Open source →
  12. v4.2.0 09 Mar 2024
    Release notes
    • Added basic templates functionality
    Open source →
  13. v4.1.0 10 Feb 2024

    Nothing published for this version

  14. v4.0.1 08 Jan 2024
    Release notes
    • Fix wrong classes in tests
    • Fixed response in case of 404 http error. Respect server error message
    Open source →
  15. v3.6.3 01 Dec 2023

    Nothing published for this version

  16. v3.6.2 27 Nov 2023
    Release notes
    • Bugfix: TypeError caused by improper use of new self() instead of new static() in base class method
    Open source →
  17. v3.6.1 27 Oct 2023
    Release notes
    • update library
    • Improvement: SDK version headers v2 vs v3
    • Update packages by @oleksandr-mykhailenko
    Open source →
  18. v3.6.0 13 Aug 2023

    Nothing published for this version

  19. v3.5.9 19 Jul 2023
    Release notes
    • Fixed: bug when params to and reply-to have the same address
    Open source →
  20. v3.5.8 23 Jun 2023

    Nothing published for this version

  21. v3.5.7 26 May 2023

    Nothing published for this version

  22. v3.5.6 08 Apr 2023
    Release notes
    • Changed: support bool value for method createMultiple
    Open source →
  23. v3.5.5 19 Sep 2022
    Release notes

    Fixed

    • Cast integer values to string for sending multipart data
    Open source →
  24. v3.5.4 25 Aug 2022
    Release notes

    Added

    • Added ability to make own API request to needed endpoint
    Open source →
  25. v3.5.3 19 Aug 2022
    Release notes

    Added

    • Ability to update web_scheme for domain
    • http or https - set your open, click and unsubscribe URLs to use http or https. The default is http
    Open source →
  26. v3.5.2 23 Jul 2022

    Nothing published for this version

  27. v3.5.1 16 Aug 2021
    Release notes

    Fixed

    • Error with empty array for param recipient-variables. Fix was suggested by @deviarte
    • Use null coalescing operator in IndexResponse.php when. Fix proposed by @TWithers
    Open source →
  28. 3.5.0 08 Mar 2021
    Release notes

    Added

    • Support for new webhook endpoints (#609 by @svenbw & #749 by @Nyholm)
    Open source →
  29. 3.4.1 28 Feb 2021
    Release notes

    Fixed

    • Fix double urlencoding (#747 by @uavn)
    Open source →
  30. 3.4.0 01 Feb 2021
    Release notes

    Added

    • Email Validation (#726 by @uavn)
      • Please note the Email Validation requires always to use the US servers. The Mailgun Team didn't enable this service on the European endpoints.
    Open source →
  31. 3.3.0 30 Jan 2021
    Release notes

    Added

    • Support for PHP 8 (#727 by @DavidGarciaCat)
    • Added opened, clicked, unsubscribed and stored to the TotalResponseItem (#739 by @Arkitecht)

    Removed

    • Support for PHP 7.1 and 7.2 as they both have reached their end of life
    Open source →
  32. 3.2.0 25 Nov 2020
    Release notes

    Added

    • Domain tracking implementation (#711 by @uavn)
    • Mailing list validation (#712 by @uavn)
    • Suppression Whitelists (#713 by @uavn)

    Fixed

    • Added pagination to tags (#717 by @uavn)

    Changed

    • Expect Client to be of type ClientInterface or PluginClient (#660 by @tonythomas01)
    Open source →
  33. 3.1.0 08 Oct 2020
    Release notes

    Added

    • Suppressions allow now deleting an address passing an optional tag (#643 by @iwahara)
    • Allow both ^1.0 and ^2.0 for php-http/guzzle6-adapter (#680 by @boboldehampsink)
    • Add support for Mailing List reply_preference parameter (#684 by @twoonesixdigital)
    • Add support for Force DKIM Authority when creating a Domain (#686 by @Tiboonn)
    • Add support for PHP 7.4 (#698 by @snapshotpl)
    • Allow assigning a domain to a list of ips during creation (#703 by @josephshanak)
    • Add unmapped log-level property for Events (#704 by @uavn)

    Fixed

    • Provide the Member's name just when it's not null (#639 by @indapublic)
    • Fix typehint for Message ShowResponse::getContentIdMap() (#664 by @lvdhoorn)
    • Fix endpoint for Domain's API (#668 by @tomschlick)
    • Webhook support for array handling (#675 by @martin-sanjuan)
    • Fix parameter name when assigning an IP to the specified Domain (#702 by @josephshanak)
    • Ip::index() now returns all IPs instead of the shared IPs (#707 by @josephshanak)

    Changed

    • Updated examples for Debugging and Hydrator usage (#634 by @tonybolzan and #681 by @Jiia)
    • Updated link to the Mailgun Documentation page (#688 by @Casmo)
    • Remove deprecated Laravel package due to it is archived (#695 by @tomschlick)

    Removed

    • Remove method for non-existing Stats URL (#705 by @uavn)
    Open source →
  34. 3.0.0 13 Sep 2019
    Release notes

    Added

    • Support for PSR-4
    • All classes Mailgun\Model are final or abstract.

    Changed

    • Dropped PHP5 support
    • Removed deprecated code
    • Moved RequestBuilder and HttpClientConfigurator to Mailgun\HttpClient namespace
    • Updated signature of Mailgun::__construct()

    Removed

    • Dependency on php-http/message.
    Open source →
  35. 3.0.0-beta2 29 Aug 2019 pre-release

    Nothing published for this version

  36. 3.0.0-beta1 09 Apr 2019 pre-release

    Nothing published for this version

  37. 2.8.1 02 Feb 2019
    Release notes

    Fixed

    • Added missing method to use all Mailing List and Ip features.
    Open source →
  38. 2.8.0 06 Jan 2019
    Release notes

    Added

    • Add support for IPs endpoints
    • Add spport for Mailing Lists
    • Add complaints to Stats / Total Response
    • Add more tests for our models

    Changed

    • Change the PHP Exception message for Bad Request errors to help to find the issue

    Fixed

    • Fix an issue validating the max path length
    Open source →
  39. 2.7.0 05 Jan 2019
    Release notes

    Added

    • Allow to set the Mailgun server when instantiating the Mailgun's client: $mailgun = Mailgun::create('key', 'server');
    • Add new PHPUnit tests for our models
    • Add new PHPUnit tests for our API
    • Added Mailgun\Api\Attachment
    • Fluent interface for MessageBuilder and BatchMessage
    • Support for HTTPlug 2.0

    Changed

    • Second argument to Mailgun\Message\MessageBuilder::addBccRecipient() is now optional.
    • We try to close open resources

    Fixed

    • Fixed the type error when creating tags.
    Open source →
  40. 2.6.0 04 Aug 2018
    Release notes

    Added

    • Ported MessageBuilder and BatchMessage #472

    Changed

    • Cast campaign IDs to string #460
    • Suggest packages used on Dev #440
    Open source →
  41. 2.5.0 08 Apr 2018
    Release notes

    Added

    • Support for 413 HTTP status codes, when we send too large payloads to the API
    Open source →
  42. 2.4.1 01 Feb 2018
    Release notes

    Added

    • Add new Suppressions::getTotalCount() method

    Changed

    • Apply fixes from StyleCI
    • Updated README.md file

    Fixed

    • Fix Tags on Unsubscribe
    • Fix typo on Mailgun\Exception\HttpServerException
    Open source →
  43. v2.4.0 07 Dec 2017
    Release notes

    Added

    • Add cached property for DNS record
    • Add domain verification
    • HttpClientException::getResponseCode()
    • Added AbstractDomainResponse that VerifyResponse and CreateResponse extends.

    Fixed

    • Possible empty content of WebhookIndexResponse.
    • Typo in TotalResponse that caused the content to be empty.

    Changed

    • Allow some parameters to Domain::create to be optional.
    Open source →
  44. 2.3.4 20 Jun 2017
    Release notes

    Fixed

    • Typo in DnsRecord::isValid. This make sure the correct result of the function is returned.
    Open source →
  45. v2.3.3 03 Jun 2017
    Release notes

    Changed

    • Using stable version of php-http/multipart-stream-builder
    • Improved tests
    Open source →
  46. v2.3.2 16 May 2017
    Release notes

    Fixed

    • When parsing an address in MessageBuilder we surround the recipient name with double quotes instead of single quotes.
    Open source →
  47. v2.3.1 11 May 2017
    Release notes

    Fixed

    • Make sure to reset the MultipartStreamBuilder after a stream is built.
    Open source →
  48. v2.3.0 14 Apr 2017
    Release notes

    Added

    • Support for sending messages with Mime. $mailgun->messages()->sendMime()
    Open source →
  49. v2.2.0 08 Apr 2017
    Release notes

    This version contains a new way of using the API. Each endpoint return a domain object and the endpoints are grouped like the API documentation.

    Added

    • Api classes in Mailgun\Api*
    • Api models/responses in Mailgun\Model*
    • Added Hydrators to hydrate PSR-7 responses to arrays or domain objects.
    • All exceptions extend Mailgun\Exception.
    • New exceptions in Mailgun\Exception namespace.
    • Added HttpClientConfigurator to configure the HTTP client.
    • Added HttpClient plugins History and ReplaceUriPlugin
    • Assertions with Webmozart\Assert
    • Mailgun\Mailgun::getLastResponse()
    • Mailgun\Connection\RestClient::getAttachment($url)
    • Clear license information

    Fixed

    • Fix disordered POST parameters. We do not use array syntax.
    • Code styles

    Deprecated

    The following classes will be removed in version 3.0.

    • Mailgun\Connection\Exceptions\GenericHTTPError
    • Mailgun\Connection\Exceptions\InvalidCredentials
    • Mailgun\Connection\Exceptions\MissingEndpoint
    • Mailgun\Connection\Exceptions\MissingRequiredParameters
    • Mailgun\Connection\Exceptions\NoDomainsConfigured
    • Mailgun\Connection\RestClient
    • Mailgun\Constants\Api
    • Mailgun\Constants\ExceptionMessages
    • Mailgun\Mailgun::$resetClient
    • Mailgun\Mailgun::sendMessage()
    • Mailgun\Mailgun::verifyWebhookSignature()
    • Mailgun\Mailgun::post()
    • Mailgun\Mailgun::get()
    • Mailgun\Mailgun::delete()
    • Mailgun\Mailgun::put()
    • Mailgun\Mailgun::setApiVersion()
    • Mailgun\Mailgun::setSslEnabled()
    • Mailgun\Mailgun::MessageBuilder()
    • Mailgun\Mailgun::OptInHandler()
    • Mailgun\Mailgun::BatchMessage()
    Open source →
  50. v2.1.2 10 Aug 2016
    Release notes
    • Bug fixes with multiple recipients, inline images and attachments.
    • Added more tests
    • Using PSR-2 code style
    Open source →
  51. v2.1.1 21 Jul 2016
    Release notes
    • Require php-http/message (#142)
    • Declare BatchMessage::endpointUrl (#112)
    Open source →
  52. v2.1.0 20 Jul 2016
    Release notes
    • Strict comparison of hash (#117)
    • No dependency on Guzzle/PSR7 (#139)
    • Build URL string form an array (#138)
    • Docblock update (#134)
    • Minor fixes (#90, #121, #98)
    Open source →
  53. v1.7.2 19 Nov 2014
    Release notes
    • Added webhook signature verification - (#50)
    • Test PHP 5.6 and HHVM - (#51)
    • Improved error handling - (#48)
    • Fixed attachment handling in Message Builder - (#56)
    • Allow any data type in custom data - (#57)
    • Return non-JSON response data - (#60)
    • Removed legacy closing braces - (#64)
    Open source →
  54. v1.7.1 27 May 2014
    Release notes
    • Improved security of OptInHandler - (#31)
    • Fixed typo for including an Exception - (#41)
    • Fixed Mocks, removed unnecessary code, applied styling - (#44 & #42)
    • Less restrictive Guzzle requirement - (#45)
    Open source →
  55. v4.0 16 Dec 2023

    Nothing published for this version

  56. v2.0 02 Apr 2016

    Nothing published for this version

  57. v1.8 06 May 2015

    Nothing published for this version

  58. v1.7 31 Jan 2014

    Nothing published for this version

  59. 1.6 15 Jan 2014
    Release notes

    Enhancement:

    • adjust file attachment/inline name (#21 @travelton)

    Bugfixes:

    • fixed issue with unordered route actions (#23 @travelton)
    Open source →
  60. 1.5 05 Dec 2013
    Release notes

    Enhancement:

    • added ability to define non-https endpoint for debugging purposes (#23 @travelton)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive