Sympa::Mailer.3Sympa - Man Page

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::Message, Sympa::Process, Sympa::Spool::Listmaster, Sympa::Spool::Outgoing.

History

Sympa::Mailer, the rewrite of mail.pm, appeared on Sympa 6.2.

Info

2023-07-22 sympa 6.2.72