Sample code for 30+ languages & platforms
Perl

Open a Persistent SMTP Connection

See more SMTP Examples

Demonstrates the Chilkat MailMan.OpenSmtpConnection method, which explicitly opens a connection to the SMTP server and authenticates if a username and password, OAuth2 token, or other applicable settings have been provided. This example opens the connection, notes where sending would occur, and closes it.

Background: By default, sending a single email opens a connection, sends, and closes it. When sending many messages, that per-message overhead adds up. Explicitly calling OpenSmtpConnection once, sending in a loop, then CloseSmtpConnection keeps a single authenticated session open for the whole batch — substantially faster and gentler on the server than reconnecting each time.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# Demonstrates the MailMan.OpenSmtpConnection method, which explicitly opens a connection
# to the SMTP server and authenticates if credentials (or an OAuth2 token) have been
# provided.

my $mailman = Chilkat2::MailMan->new;

# Configure the SMTP server connection.
$mailman->SmtpHost('smtp.example.com');
$mailman->SmtpPort(465);
$mailman->SmtpSsl(1);
$mailman->SmtpUsername('user@example.com');
$mailman->SmtpPassword('myPassword');

# Explicitly open (and authenticate) the SMTP connection.

my $success = $mailman->OpenSmtpConnection();
if (!$success) {
    print $mailman->LastErrorText, "\n";
    exit;
}

print "SMTP connection opened.\n";

# ... send one or more emails here ...

# Close the connection when done.
$success = $mailman->CloseSmtpConnection();
if (!$success) {
    print $mailman->LastErrorText, "\n";
    exit;
}