]> git.proxmox.com Git - pmg-api.git/blobdiff - PMG/SMTP.pm
fix bug 1707: use correct units for deferred mail queue (minutes)
[pmg-api.git] / PMG / SMTP.pm
index 1a701cfa6ffc296e3eefaa34dea3493e6eaa9b74..ea4a013757b97c7d6d32a8af3ea38fc7aacf73d1 100644 (file)
@@ -2,7 +2,6 @@ package PMG::SMTP;
 
 use strict;
 use warnings;
-use Carp;
 use IO::Socket;
 
 use PVE::SafeSyslog;
@@ -14,7 +13,7 @@ sub new {
 
     my $class = ref($this) || $this;
 
-    croak("undefined socket: ERROR") if !defined($sock);
+    die("undefined socket: ERROR") if !defined($sock);
 
     my $self = {};
     $self->{sock} = $sock;
@@ -96,7 +95,7 @@ sub loop {
            $self->reply ("250 2.5.0 OK");
            next;
        } elsif ($cmd eq 'mail') {
-           if ($args =~ m/^from:\s*<(\S*)>/i) {
+           if ($args =~ m/^from:\s*<([^\s\>]*)>[^>]*$/i) {
                delete $self->{to};
                $self->{from} = $1;
                $self->reply ('250 2.5.0 OK');
@@ -106,12 +105,12 @@ sub loop {
                next;
            }
        } elsif ($cmd eq 'rcpt') {
-           if ($args =~ m/^to:\s*<(\S+)>/i) {
+           if ($args =~ m/^to:\s*<([^\s\>]+)>[^>]*$/i) {
                push @{$self->{to}} , $1;
                $self->reply ('250 2.5.0 OK');
                next;
            } else {
-               $self->reply ("501 5.5.2 Syntax: MAIL FROM: <address>");
+               $self->reply ("501 5.5.2 Syntax: RCPT TO: <address>");
                next;
            }
        } elsif ($cmd eq 'data') {