diff options
author | lethality <lethality@anope.org> | 2012-06-22 21:26:33 +0100 |
---|---|---|
committer | lethality <lethality@anope.org> | 2012-06-22 21:26:33 +0100 |
commit | d8a99d619f7ae301ecf188dc460b1f5c7cb791ac (patch) | |
tree | b327ce05b9b5cb598fbc829e48041d465bc2d579 /src/mail.cpp | |
parent | ba53c7eb03add30acefbbc95bbd8b4b825b465b0 (diff) | |
parent | 2dec8e767a70def4b9b04a96ae4f75e4d1013038 (diff) |
Merge branch '1.9' of ssh://anope.git.sf.net/gitroot/anope/anope into 1.9
Diffstat (limited to 'src/mail.cpp')
-rw-r--r-- | src/mail.cpp | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/src/mail.cpp b/src/mail.cpp index aaf564bc6..0a9273ebc 100644 --- a/src/mail.cpp +++ b/src/mail.cpp @@ -53,24 +53,39 @@ void MailThread::Run() bool Mail(User *u, NickCore *nc, const BotInfo *service, const Anope::string &subject, const Anope::string &message) { - if (!u || !nc || !service || subject.empty() || message.empty()) + if (!nc || !service || subject.empty() || message.empty()) return false; - - if (!Config->UseMail) - u->SendMessage(service, _("Services have been configured to not send mail.")); - else if (Anope::CurTime - u->lastmail < Config->MailDelay) - u->SendMessage(service, _("Please wait \002%d\002 seconds and retry."), Config->MailDelay - (Anope::CurTime - u->lastmail)); - else if (nc->email.empty()) - u->SendMessage(service, _("E-mail for \002%s\002 is invalid."), nc->display.c_str()); - else + + if (!u) { - u->lastmail = nc->lastmail = Anope::CurTime; + if (!Config->UseMail) + return false; + else if (nc->email.empty()) + return false; + + nc->lastmail = Anope::CurTime; Thread *t = new MailThread(nc->display, nc->email, subject, message); t->Start(); return true; } + else + { + if (!Config->UseMail) + u->SendMessage(service, _("Services have been configured to not send mail.")); + else if (Anope::CurTime - u->lastmail < Config->MailDelay) + u->SendMessage(service, _("Please wait \002%d\002 seconds and retry."), Config->MailDelay - (Anope::CurTime - u->lastmail)); + else if (nc->email.empty()) + u->SendMessage(service, _("E-mail for \002%s\002 is invalid."), nc->display.c_str()); + else + { + u->lastmail = nc->lastmail = Anope::CurTime; + Thread *t = new MailThread(nc->display, nc->email, subject, message); + t->Start(); + return true; + } - return false; + return false; + } } bool Mail(NickCore *nc, const Anope::string &subject, const Anope::string &message) |