def _sendMail(to, message_subject, message_body, cc='', reply_to='', is_html=False): # check to if to is None or str(to).strip() == '': logging.error('to is None') return False, 'invalid_to' if not mail.IsEmailValid(to): logging.error('invalid to=' + str(to)) return False, 'invalid_to' # check cc if cc is not None and str(cc).strip() != '': if not mail.IsEmailValid(cc): logging.error('invalid cc=' + str(cc)) return False, 'invalid_cc' # check reply_to if reply_to is not None and str(reply_to) != '': if not mail.IsEmailValid(reply_to): logging.error('invalid reply_to=' + str(reply_to)) return False, 'invalid_reply_to' # calc check_key now = UcfUtil.getNow() # 標準時 check_key = UcfUtil.md5( now.strftime('%Y%m%d%H%M') + MD5_SUFFIX_KEY_MAIL_SERVER + SENDER_ADDON_PROJECT_ID) # post data url = SATERAITO_MAIL_SERVER_URL + '/api/sendmail' values = { 'addon_project_id': SENDER_ADDON_PROJECT_ID, 'sender_email': MESSAGE_SENDER_EMAIL, 'to': to, 'cc': cc, 'reply_to': reply_to, 'message_subject': message_subject, 'message_body': message_body, 'is_html': str(is_html), 'check_key': check_key, } headers = {} response = HttpPostAccess(url, values, headers) logging.info('response=' + str(response)) try: response_dict = json.JSONDecoder().decode(response) if response_dict.get('status') != 'ok': return False, response_dict.get('error_code') except BaseException, e: logging.error('error: class name:' + e.__class__.__name__ + ' message=' + str(e)) return False, 'unexpected_error'
def createAccessKey(cls, helper, useragent_id, operator_unique_id): return UcfUtil.md5(useragent_id + '|' + operator_unique_id)
def createCookieKeyForAccessKey(cls, helper, operator_unique_id): return 'ACSDID' + UcfUtil.md5(helper.getDeptInfo()['unique_id'] + '|' + operator_unique_id)