def ee2f_getReplyAddress(fromAddress, toAddress):
execQuery("SELECT `disposableMailAddress` FROM `replyAddress` WHERE `mailAddress` = %s", getAddress(toAddress))
replyAddress = dbCursor.fetchone()
if replyAddress:
execQuery("SELECT `user`.`mailAddress` FROM `user` JOIN `disposableMailAddress` ON `user`.`ID` = `disposableMailAddress`.`userID` WHERE `disposableMailAddress`.`mailAddress` = %s", replyAddress[0])
allowedEmail = dbCursor.fetchone()
if not allowedEmail:
logging.critical("Can not check if " + getAddress(fromAddress) + " is allowed to send an email as " + replyAddress[0] + ". Assuming yes.")
else:
if allowedEmail[0] != getAddress(fromAddress):
raise BounceException('"{}" is not allowed to send an email as "{}"').format(
getAddress(fromAddress), replyAddress[0]
)
label = getLabel(fromAddress)
if label:
return label + " <" + replyAddress[0] + ">"
else:
return replyAddress[0]
else:
raise BounceException('Invalid email address: "{}"'.format(toAddress))
# A foreign address is writing to an erine.email user (f2ee as Foreign To Erine.Email)
# Forge or retrieve reply email address
# Bounce email on invalid toAddress
评论列表
文章目录