WireMailMailgun by plauclair, macrura

Mailgun for ProcessWire

WireMailMailgun

Mailgun module for ProcessWire

Configuration


Set settings in module configuration page.

Usage


Usage is similar to the basic WireMail implementation, although a few extra options are available.

Basic usage is as such:

  1. Initialize $mail = wireMail(); Note this also works: $m = $mail->new();
  2. Set options $mail->to('Someone <someone@example.com>); ...
  3. Send $mail->send();

Methods


$WireMailMailgun->to( string|array|null $recipients )

$WireMailMailgun->cc( string|array|null $recipients )

$WireMailMailgun->bcc( string|array|null $recipients )

$WireMailMailgun->setApiKey( string $apiKey )

$WireMailMailgun->setDomainName( string $domainName )

$WireMailMailgun->setTestMode( bool $bool )

$WireMailMailgun->setBatchMode( bool $bool )

When batch mode is set to true (default mode of operation), each recipient passed to the to() method will not be able to see who else is receiving the sent email. This will send one email per "To:" recipient.

Set to false to disable this behavior. This will send one email with multiple "To:" recipients.

Note that in both cases all CCs and BCCs will be delivered for each email sent. This means that if batch mode is on, that you have 10 "To:" recipients and 3 CCs, 40 emails will be sent in total.

Important: Mailgun has a maximum hard limit of recipients allowed per batch of 1,000. Read more about batch sending.

$WireMailMailgun->setToRecipientsVariables( array $array )

Add custom variables for batch mode. ex.:

$WireMailMailgun->setToRecipientsVariables(array(
	'someone@example.com' => array(
		'username' => 'Someone',
		'token' => '123456',
	), ...
));

$WireMailMailgun->setClickTracking( bool $bool )

$WireMailMailgun->setOpenTracking( bool $bool )

$WireMailMailgun->addAttachment( string $filepath )

Usage is the same as realpath() internally for convenience.

$WireMailMailgun->addTag( string $tag )

Add a tag to the email. Note that there is a maximum number of 3 tags allowed per email.

Also, the tag string should be ASCII only and its length should be 128 characters or less. If any of those conditions are not met, the module will convert any non-ASCII characters to ASCII and trim the string length to 128.

$WireMailMailgun->validateEmail( string $email )

Validates a single address using Mailgun's address validation service.

For more information on what this method returns, see Mailgun's documentation.

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • ProcessWire 3.0.182 core updates– More
    23 July 2021
  • ProcessWire 3.0.181 has fixes and improvements as usual, but the biggest addition is a nice pull request for multi-language module translations, plus major updates to our Helloworld and ProcessHello demonstration modules. This post covers it all— More
    2 July 2021
  • ProcessWire 3.0.180 core updates– More
    18 June 2021

Latest news

  • ProcessWire Weekly #377
    In the 377th issue of ProcessWire Weekly we'll cover the latest core updates, highlight some recent online resources, and more. Read on!
    Weekly.pw / 31 July 2021
  • ProcessWire 3.0.181 core updates + “Hello World”
    ProcessWire 3.0.181 has fixes and improvements as usual, but the biggest addition is a nice pull request from LostKobrakai, plus major updates to our Helloworld and ProcessHello demonstration modules. This post covers it all.
    Blog / 2 July 2021
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer