Closed Bug 273895 Opened 20 years ago Closed 20 years ago

Many user functions still using sendmail, which fails on Win32 platforms

Categories

(Bugzilla :: User Accounts, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 84876

People

(Reporter: clay, Assigned: myk)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

1. Yes, I know I'm a heathen for using Win32.  But I've got a mortgage, a wife
and two kids and the job pays the bills.  It's a little easier to take if I at
least have decent bug/request tracking.

2. The Bugzilla::Token module and CGI.pl are using sendmail to deliver messages
about account creation and user account requests.  For fairly obvious reasons
these messages don't get to the users and things don't happen, like account
creation and password changing.

Reproducible: Always
Steps to Reproduce:
1. Create account/change password/change name/change email

Actual Results:  
Bloody little.  No email arrives in the mailbox, but Bugzilla is certain that it
sent the mail and says so to the user.  Also, password change requests get
logged with tokens created.

Expected Results:  
Sent the mail using Net::SMTP

I have a patched version of Bugzilla::Token and CGI.pl which work at least on my
system.  These changes are pretty sub-optimal though, and a more global solution
will be desired.

In CGI.pl, the MailPassword function is changed to this:

sub MailPassword {
    my ($login, $password) = (@_);
    my $urlbase = Param("urlbase");
    my $template = Param("passwordmail");
    my $msg = PerformSubsts($template,
                            {"mailaddress" => $login . Param('emailsuffix'),
                             "login" => $login,
                             "password" => $password});

    use Bugzilla::Token;
    SendUserEmail($login . Param('emailsuffix'), $msg);

}


In Bugzilla::Token, the following function is added:

sub SendUserEmail {

    my ($recipient, $message) = @_;
    
    use Net::SMTP;
    my $smtp_server = 'mail.questsoftware.com';
    my $smtp = Net::SMTP->new($smtp_server) ||
        die 'cannot connect to server \'$smtp_server\'';

    $smtp->mail('bugzilla-daemon@localhost');
    $smtp->to($recipient);
    $smtp->data();
    $smtp->datasend($message);
    $smtp->dataend();
    $smtp->quit;

}


References to sendmail in Bugzilla::Token are changed to SendUserEmail



Again I'm sorry for bugging you about a Win32 problem, but I'm the only person
in the office who isn't terrified by non-windows systems, and I need a decent
bug tracking system.  Management spent a lot of money on a commercial system
(StarTeam from Borland) that's pretty much useless for bug tracking.
See http://www.bugzilla.org/docs/win32install.html for instructions how to set
up the psuedo-sendmail stub on Win32

*** This bug has been marked as a duplicate of 84876 ***
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.