mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
Backed out changeset 6ac32dcf78a6
This commit is contained in:
parent
7a268371b0
commit
0b03cc2a5a
@ -381,7 +381,6 @@ def patchbomb(ui, repo, *revs, **opts):
|
|||||||
parent = None
|
parent = None
|
||||||
|
|
||||||
sender_addr = email.Utils.parseaddr(sender)[1]
|
sender_addr = email.Utils.parseaddr(sender)[1]
|
||||||
sendmail = None
|
|
||||||
for m in msgs:
|
for m in msgs:
|
||||||
try:
|
try:
|
||||||
m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
|
m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
|
||||||
@ -427,12 +426,10 @@ def patchbomb(ui, repo, *revs, **opts):
|
|||||||
fp.write('\n\n')
|
fp.write('\n\n')
|
||||||
fp.close()
|
fp.close()
|
||||||
else:
|
else:
|
||||||
if not sendmail:
|
|
||||||
sendmail = mail.connect(ui)
|
|
||||||
ui.status('Sending ', m['Subject'], ' ...\n')
|
ui.status('Sending ', m['Subject'], ' ...\n')
|
||||||
# Exim does not remove the Bcc field
|
# Exim does not remove the Bcc field
|
||||||
del m['Bcc']
|
del m['Bcc']
|
||||||
sendmail(ui, sender, to + bcc + cc, m.as_string(0))
|
mail.sendmail(ui, sender, to + bcc + cc, m.as_string(0))
|
||||||
|
|
||||||
cmdtable = {
|
cmdtable = {
|
||||||
"email":
|
"email":
|
||||||
|
@ -38,43 +38,39 @@ def _smtp(ui):
|
|||||||
s.login(username, password)
|
s.login(username, password)
|
||||||
return s
|
return s
|
||||||
|
|
||||||
def _sendmail(ui, sender, recipients, msg):
|
class _sendmail(object):
|
||||||
'''send mail using sendmail.'''
|
'''send mail using sendmail.'''
|
||||||
program = ui.config('email', 'method')
|
|
||||||
cmdline = '%s -f %s %s' % (program, templater.email(sender),
|
def __init__(self, ui, program):
|
||||||
' '.join(map(templater.email, recipients)))
|
self.ui = ui
|
||||||
ui.note(_('sending mail: %s\n') % cmdline)
|
self.program = program
|
||||||
fp = os.popen(cmdline, 'w')
|
|
||||||
fp.write(msg)
|
def sendmail(self, sender, recipients, msg):
|
||||||
ret = fp.close()
|
cmdline = '%s -f %s %s' % (
|
||||||
if ret:
|
self.program, templater.email(sender),
|
||||||
raise util.Abort('%s %s' % (
|
' '.join(map(templater.email, recipients)))
|
||||||
os.path.basename(program.split(None, 1)[0]),
|
self.ui.note(_('sending mail: %s\n') % cmdline)
|
||||||
util.explain_exit(ret)[0]))
|
fp = os.popen(cmdline, 'w')
|
||||||
|
fp.write(msg)
|
||||||
|
ret = fp.close()
|
||||||
|
if ret:
|
||||||
|
raise util.Abort('%s %s' % (
|
||||||
|
os.path.basename(self.program.split(None, 1)[0]),
|
||||||
|
util.explain_exit(ret)[0]))
|
||||||
|
|
||||||
def connect(ui):
|
def connect(ui):
|
||||||
'''make a mail connection. return a function to send mail.
|
'''make a mail connection. object returned has one method, sendmail.
|
||||||
call as sendmail(sender, list-of-recipients, msg).'''
|
call as sendmail(sender, list-of-recipients, msg).'''
|
||||||
|
|
||||||
func = _sendmail
|
method = ui.config('email', 'method', 'smtp')
|
||||||
if ui.config('email', 'method', 'smtp') == 'smtp':
|
if method == 'smtp':
|
||||||
func = _smtp(ui)
|
return _smtp(ui)
|
||||||
|
|
||||||
def send(ui, sender, recipients, msg):
|
return _sendmail(ui, method)
|
||||||
try:
|
|
||||||
return func.sendmail(sender, recipients, msg)
|
|
||||||
except smtplib.SMTPRecipientsRefused, inst:
|
|
||||||
recipients = [r[1] for r in inst.recipients.values()]
|
|
||||||
raise util.Abort('\n' + '\n'.join(recipients))
|
|
||||||
except smtplib.SMTPException, inst:
|
|
||||||
raise util.Abort(inst)
|
|
||||||
|
|
||||||
return send
|
|
||||||
|
|
||||||
def sendmail(ui, sender, recipients, msg):
|
def sendmail(ui, sender, recipients, msg):
|
||||||
try:
|
try:
|
||||||
send = connect(ui)
|
return connect(ui).sendmail(sender, recipients, msg)
|
||||||
return send(sender, recipients, msg)
|
|
||||||
except smtplib.SMTPRecipientsRefused, inst:
|
except smtplib.SMTPRecipientsRefused, inst:
|
||||||
recipients = [r[1] for r in inst.recipients.values()]
|
recipients = [r[1] for r in inst.recipients.values()]
|
||||||
raise util.Abort('\n' + '\n'.join(recipients))
|
raise util.Abort('\n' + '\n'.join(recipients))
|
||||||
|
Loading…
Reference in New Issue
Block a user