2016-09-20 2 views
0

Я хочу отправить электронное письмо без шаблона электронной почты в odoo 9. Я успешно установил исходящую & конфигурацию входящей почты. Мой сценарий является админ почтовый псевдоним в качестве отправителя электронной почты это моя модель:Как отправить электронную почту без шаблона почты odoo 9

class cashadvance(osv.osv): 
_name = 'comben.cashadvance' 
    _order = 'create_date DESC' 
    _columns = { 
     'user_target'    : fields.many2one('res.users', string='User Target'), 
     'mail_target'    : fields.char(string='Email Target'), 
    } 

Вопрос в том, как отправить письмо mail_target поле, используя функцию? Помогите мне пожалуйста

ответ

2

Вы можете отправить сообщение по электронной почте непосредственно с помощью модели mail.thread, нажав кнопку ниже.

@api.multi 
def send_mail(self): 
    user_id = self.user_target.id 
    body = self.message_target 

    mail_details = {'subject': "Message subject", 
     'body': body, 
     'partner_ids': [(user_target)] 
     } 

    mail = self.env['mail.thread'] 
    mail.message_post(type="notification", subtype="mt_comment", **mail_details) 

Или вы можете просто взять быка за рога и использовать обычную ола smtplib из стандартной библиотеки, (но тогда конфигурация odoo не будет иметь значения больше). В этом примере предполагается, что вы используете gmail. Если вы этого не сделаете, вы должны заполнить данные своего почтового сервера, чтобы это работало правильно.

@api.multi 
def send_mail(self): 
    import smtplib 

    receivers_email = self.user_target.login 

    server = smtplib.SMTP('smtp.gmail.com', 587) 
    server.starttls() 
    server.login("your_email_address", "password") 

    message = self.message_target 
    server.sendmail("your_email_address", receivers_email, message) 

    server.quit() 

С user_target связан с res.users поля вы можете получить по электронной почте от login полей

+0

HII @danidee, спасибо за ваш быстрый ответ и извините за мой поздний ответ. Наконец, я выбрал smtplib, чтобы решить эту ошибку, и он решил тело, большое спасибо. Но мне интересно, как добавить тему почты в server.sendmail. Я попытался добавить тему параметра в server.sendmail ("your_email_address", receivers_email, subject, message), но не удалось – yogakumboro

+0

'message =" Subject:% s \ n \ n% s "% ('Your subject', self.message_target) ' – danidee

Смежные вопросы