Added direct sendmail support.

This commit is contained in:
JT Smith 2002-07-07 02:22:55 +00:00
parent 6f6a946daf
commit 497a951ec4
2 changed files with 30 additions and 22 deletions

View file

@ -19,26 +19,34 @@ use WebGUI::Session;
#eg: send("jt@jt.com","hi, how are you","this is my message","bob@bob.com");
#eg: send(to,subject,message,cc);
sub send {
my ($smtp);
$smtp = Net::SMTP->new($session{setting}{smtpServer}); # connect to an SMTP server
if (defined $smtp) {
$smtp->mail($session{setting}{companyEmail}); # use the sender's address here
$smtp->to($_[0]); # recipient's address
$smtp->data(); # Start the mail
# Send the header.
$smtp->datasend("To: ".$_[0]."\n");
$smtp->datasend("From: $session{setting}{companyName} <$session{setting}{companyEmail}>\n");
$smtp->datasend("CC: $_[3]\n") if ($_[3]);
$smtp->datasend("Subject: ".$_[1]."\n");
$smtp->datasend("\n");
# Send the body.
$smtp->datasend($_[2]);
$smtp->datasend("\n\n $session{setting}{companyName}\n $session{setting}{companyEmail}\n $session{setting}{companyURL}\n");
$smtp->dataend(); # Finish sending the mail
$smtp->quit; # Close the SMTP connection
} else {
WebGUI::ErrorHandler::warn("Couldn't connect to mail server: ".$session{setting}{smtpServer});
}
my ($smtp, $message);
#header
$message = "To: ".$_[0]."\n";
$message .= "From: $session{setting}{companyName} <$session{setting}{companyEmail}>\n";
$message .= "CC: $_[3]\n" if ($_[3]);
$message .= "Subject: ".$_[1]."\n";
$message .= "\n";
#body
$message .= $_[2]."\n";
#footer
$message .= "\n $session{setting}{companyName}\n $session{setting}{companyEmail}\n $session{setting}{companyURL}\n";
if ($session{setting}{smtpServer} =~ /\/sendmail/) {
open(MAIL,'| '.$session{setting}{smtpServer}.' -t -oi') or WebGUI::ErrorHandler::warn("Couldn't connect to mail server: ".$session{setting}{smtpServer});
print MAIL $message;
close(MAIL);
} else {
$smtp = Net::SMTP->new($session{setting}{smtpServer}); # connect to an SMTP server
if (defined $smtp) {
$smtp->mail($session{setting}{companyEmail}); # use the sender's address here
$smtp->to($_[0]); # recipient's address
$smtp->data(); # Start the mail
$smtp->datasend($message);
$smtp->dataend(); # Finish sending the mail
$smtp->quit; # Close the SMTP connection
} else {
WebGUI::ErrorHandler::warn("Couldn't connect to mail server: ".$session{setting}{smtpServer});
}
}
}

View file

@ -39,13 +39,13 @@ sub www_editUserSettings {
$output .= '<h1>'.WebGUI::International::get(117).'</h1>';
$f = WebGUI::HTMLForm->new;
$f->hidden("op","editUserSettingsSave");
$f->integer("sessionTimeout",WebGUI::International::get(142),$session{setting}{sessionTimeout});
$f->yesNo("anonymousRegistration",WebGUI::International::get(118),$session{setting}{anonymousRegistration});
$f->yesNo("alertOnNewUser",WebGUI::International::get(534),$session{setting}{alertOnNewUser});
$f->text("runOnRegistration",WebGUI::International::get(559),$session{setting}{runOnRegistration});
$f->yesNo("alertOnNewUser",WebGUI::International::get(534),$session{setting}{alertOnNewUser});
$f->group("onNewUserAlertGroup",WebGUI::International::get(535),[$session{setting}{onNewUserAlertGroup}]);
$f->yesNo("useKarma",WebGUI::International::get(539),$session{setting}{useKarma});
$f->integer("karmaPerLogin",WebGUI::International::get(540),$session{setting}{karmaPerLogin});
$f->integer("sessionTimeout",WebGUI::International::get(142),$session{setting}{sessionTimeout});
$f->select("authMethod",\%authMethod,WebGUI::International::get(119),[$session{setting}{authMethod}]);
$f->yesNo("usernameBinding",WebGUI::International::get(306),$session{setting}{usernameBinding});
$f->url("ldapURL",WebGUI::International::get(120),$session{setting}{ldapURL});