Welches PERL Modul für SMPT ist bei Dir vorhanden

MyOOS [Dumper]ist ein Sicherungsprogramm für MySQL-Datenbanken. Damit können Sicherungskopien der Daten (Forum, Shop, Blog, usw.) erstellt und bei Bedarf auch wieder hergestellt werden. Besonders bei Web-Space ohne Shell-Zugang bietet sich MyOOS [Dumper] als sinnvolle Alternative an.
Antworten
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Welches PERL Modul für SMPT ist bei Dir vorhanden

Beitrag von r23 »

Hallo,

zurzeit versendet MOD nur per Sendmail und nicht mit SMTP mit SMTP-Authentifizierung und SSL oder TLS Mails


Dafür benötigen wir ein Perl Modul, das diese Funktionen unterstützt. Es gibt mehrere Möglichkeiten, je nachdem, wie hoch oder niedrig wir auf der SMTP-Ebene arbeiten möchten.
Welches PERL Modul für SMPT ist bei Dir vorhanden?


Eine Möglichkeit ist, das Modul Net::SMTP::SSL zu verwenden, das eine Erweiterung von Net::SMTP ist, die SSL-Verbindungen ermöglicht. Du musst dann die `auth`-Methode aufrufen, um dich mit deinem Benutzernamen und Passwort zu authentifizieren, und dann die üblichen SMTP-Befehle wie `mail`, `to`, `data` und `datasend` verwenden, um deine Mail zu erstellen und zu senden. Hier ist ein Beispielcode:

Code: Alles auswählen

#!/usr/bin/perl
use strict;
use warnings;
use Net::SMTP::SSL;

my $smtpserver = 'server';
my $smtpport = 465;
my $smtpuser = 'username';
my $smtppassword = 'password';

my $smtp = Net::SMTP::SSL->new($smtpserver, Port => $smtpport, Debug => 1);
die "Could not connect to server!\n" unless $smtp;

$smtp->auth($smtpuser, $smtppassword);
$smtp->mail('sender@example.com');
$smtp->to('recipient@example.com');
$smtp->data();
$smtp->datasend("To: recipient\@example.com\n");
$smtp->datasend("From: sender\@example.com\n");
$smtp->datasend("Subject: Test message\n");
$smtp->datasend("\n");
$smtp->datasend("This is a test message\n");
$smtp->dataend();
$smtp->quit;
Eine andere Möglichkeit ist, ein höheres Modul wie Email::Sender zu verwenden, das die Erstellung und den Versand von E-Mails vereinfacht. Du musst dann ein Email::Sender::Transport::SMTP-Objekt erstellen, das deine SMTP-Serverdaten enthält, und ein Email::Simple-Objekt, das deine E-Mail-Header und -Inhalt enthält. Dann kannst du die `sendmail`-Funktion verwenden, um deine E-Mail mit dem angegebenen Transport zu senden. Hier ist ein Beispielcode:

Code: Alles auswählen

#!/usr/bin/perl
use strict;
use warnings;

use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP ();
use Email::Simple ();
use Email::Simple::Creator ();

my $smtpserver = 'server';
my $smtpport = 25;
my $smtpuser = 'username';
my $smtppassword = 'password';

my $transport = Email::Sender::Transport::SMTP->new({
  host => $smtpserver,
  port => $smtpport,
  sasl_username => $smtpuser,
  sasl_password => $smtppassword,
});

my $email = Email::Simple->create(
  header => [
    To => 'recipient@example.com',
    From => 'sender@example.com',
    Subject => 'Test message',
  ],
  body => "This is a test message\n",
);

sendmail($email, { transport => $transport });
Es gibt noch andere Module, die wir verwenden können, wie zum Beispiel Email::Send::SMTP::TLS, das TLS-Verbindungen ermöglicht, oder Net::SMTPS, das sowohl SSL als auch TLS unterstützt. Du kannst die Dokumentation dieser Module auf metacpan.org lesen, um mehr darüber zu erfahren, wie du sie verwenden kannst.

sendmail - How to use perl for SMTP connection with user and SSL Auth ....
https://stackoverflow.com/questions/258 ... mails-with.

email - Sending mail via SMTP in Perl - Stack Overflow.
https://stackoverflow.com/questions/100 ... tp-in-perl.

Email::Send::SMTP::TLS - metacpan.org.
https://metacpan.org/pod/Email::Send::SMTP::TLS.

Damit wir uns entscheiden können, was wir wie einbauen, benötigen wir Informationen über die verwendeten PERL Module für SMPT.

Beste Grüße

Ralf
Antworten