Closed Bug 339862 Opened 18 years ago Closed 18 years ago

Move Bugzilla::BugMail::MessageToMTA() in a separate module

Categories

(Bugzilla :: Email Notifications, enhancement)

2.23
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
Bugzilla 3.0

People

(Reporter: LpSolit, Assigned: LpSolit)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Actually, several .cgi scripts or .pm modules use Bugzilla::BugMail only because they need MessageToMTA(). Among others, this creates the Bug -> Flag -> BugMail -> Bug dependency loop, because Flag.pm has to send emails when flags change. I suspect we may end with such a dependency loop with Token.pm too, which only needs to call MessageToMTA() when a user creates or forgets his account/password.

Look at http://www.justdave.net/bugzilladeps.png to see all loops.

Having Bugzilla::BugMail::MessageToMTA() in its own module, say Bugzilla::Mailer, would remove such loops.

mkanat, does this idea fit with what you want to do in bug 301447?
You could put it into Bugzilla::BugMail::Util, maybe. Or Bugzilla::Mailer, that might be okay, too.

It doesn't really have anything to do with bug 301447. But if you made the Mailer into a real object, that might help with that bug.
Oh, actually, I see what you're talking about. What I want to do in bug 301447 is make an object that can take a Bugzilla::ChangeSet and make an email out of it. So that would be pretty different from this. I think probably the best place for MessageToMTA is either in Bugzilla::BugMail::Util or in Bugzilla::Util.
Attached patch patch, v1Splinter Review
Move MessageToMTA() into Bugzilla::Mailer.
Assignee: email-notifications → LpSolit
Status: NEW → ASSIGNED
Attachment #223997 - Flags: review?(mkanat)
Comment on attachment 223997 [details] [diff] [review]
patch, v1

This looks right to me. I suppose you've tested it.
Attachment #223997 - Flags: review?(mkanat) → review+
Flags: approval?
Flags: approval? → approval+
Checking in editproducts.cgi;
/cvsroot/mozilla/webtools/bugzilla/editproducts.cgi,v  <--  editproducts.cgi
new revision: 1.120; previous revision: 1.119
done
Checking in importxml.pl;
/cvsroot/mozilla/webtools/bugzilla/importxml.pl,v  <--  importxml.pl
new revision: 1.54; previous revision: 1.53
done
Checking in process_bug.cgi;
/cvsroot/mozilla/webtools/bugzilla/process_bug.cgi,v  <--  process_bug.cgi
new revision: 1.320; previous revision: 1.319
done
Checking in relogin.cgi;
/cvsroot/mozilla/webtools/bugzilla/relogin.cgi,v  <--  relogin.cgi
new revision: 1.36; previous revision: 1.35
done
Checking in whine.pl;
/cvsroot/mozilla/webtools/bugzilla/whine.pl,v  <--  whine.pl
new revision: 1.25; previous revision: 1.24
done
Checking in whineatnews.pl;
/cvsroot/mozilla/webtools/bugzilla/whineatnews.pl,v  <--  whineatnews.pl
new revision: 1.22; previous revision: 1.21
done
Checking in Bugzilla/BugMail.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/BugMail.pm,v  <--  BugMail.pm
new revision: 1.76; previous revision: 1.75
done
Checking in Bugzilla/Flag.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/Flag.pm,v  <--  Flag.pm
new revision: 1.64; previous revision: 1.63
done
RCS file: /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Mailer.pm,v
done
Checking in Bugzilla/Mailer.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/Mailer.pm,v  <--  Mailer.pm
initial revision: 1.1
done
Checking in Bugzilla/Token.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/Token.pm,v  <--  Token.pm
new revision: 1.42; previous revision: 1.41
done
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Keywords: relnote
Added to the release notes in bug 349423.
Keywords: relnote
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: