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

  • This week we focus in on a new and unique Inputfield module added to the core that enables a lot of useful new input capabilities for tags, sortable multiple selection and custom user input— More
    30 April 2021
  • With more than 25 commits, ProcessWire 3.0.176 resolves lots of minor issues, adds support for multiple randomly selected read-only database connections, upgrades the tag features in the Template editor, adds a useful new Tags Inputfield, and more… More
    23 April 2021
  • This week ProcessWire (3.0.175) gained the ability to maintain separate read-only and read-write database connections to optimize scalability, cost and performance. The post covers why this can be so valuable and how to configure it in ProcessWire— More
    2 April 2021

Latest news

  • ProcessWire Weekly #365
    In the 365th issue of ProcessWire Weekly we're going to check out the latest core updates, introduce a new third party module called FieldtypeOembed, and more. Read on!
    Weekly.pw / 9 May 2021
  • ProcessWire 3.0.177 core updates
    This week we focus in on a new and unique Inputfield module added to the core that enables a lot of useful new input capabilities for tags, sortable multiple selection and custom user input.
    Blog / 30 April 2021
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull