Scroll to navigation

Sympa::Mailer(3Sympa) sympa 6.2.40 Sympa::Mailer(3Sympa)

NAME

Sympa::Mailer - Store messages to sendmail

SYNOPSIS

  use Sympa::Mailer;
  use Sympa::Process;
  my $mailer = Sympa::Mailer->instance;
  my $process = Sympa::Process->instance;

  $mailer->store($message, ['user1@dom.ain', user2@other.dom.ain']);

DESCRIPTION

Sympa::Mailer implements the class to invoke sendmail processes and store messages to them.

Methods

instance ( )
Constructor. Creates a singleton instance of Sympa::Mailer object.

Returns:

A new Sympa::Mailer instance, or undef for failure.

reaper ( [ blocking => 1 ] )
DEPRECATED. Use "reap_child" in Sympa::Process.

Instance method. Non blocking function called by: main loop of sympa, task_manager, bounced etc., just to clean the defuncts list by waiting to any processes and decrementing the counter.

Parameter:

blocking => 1
Operation would block.

Returns:

PID.

store ( $message, $rcpt, [ envid => $envid ], [ tag => $tag ] )
Instance method. Makes a sendmail ready for the recipients given as argument, uses a file descriptor in the smtp table which can be imported by other parties. Before, waits for number of children process < number allowed by sympa.conf

Parameters:

$message
Message to be sent.

{envelope_sender} attribute of the message will be used as SMTP "MAIL FROM:" field.

$rcpt
Scalar, scalarref or arrayref, for SMTP "RCPT TO:" field.
envid => $envid
An envelope ID of this message submission in notification table. See also Sympa::Tracking.
tag => $tag
TBD

Returns:

Filehandle on opened pipe to output SMTP "DATA" field. Otherwise "undef".

Attributes

Sympa::Mailer instance may have following attributes:
{log_smtp}
If true value is set, each invocation of sendmail process will be logged.
{redundancy}
Positive integer. If set, maximum number of invocation of sendmail is divided by this value.

SEE ALSO

Sympa::Alarm, Sympa::Bulk, Sympa::Message, Sympa::Process.

HISTORY

Sympa::Mailer, the rewrite of mail.pm, appeared on Sympa 6.2.
2019-01-20 6.2.40