Skip to Content
Odoo मेन्यू
  • Sign in
  • मुफ़्त में आज़माएं
  • ऐप्लिकेशन
    फ़ाइनेंस
    • अकाउंटिंग
    • इनवॉइसिंग
    • एक्सपेंस
    • स्प्रेडशीट (बीआई)
    • डॉक्यूमेंट्स
    • साइन
    सेल्स
    • सीआरएम
    • सेल्स
    • पीओएस शॉप
    • पीओएस रेस्टोरेंट
    • सब्सक्रिप्शन
    • रेंटल
    वेबसाइट
    • वेबसाइट बिल्डर
    • ई-कॉमर्स
    • ब्लॉग
    • फ़ोरम
    • लाइव चैट
    • ई-लर्निंग
    सप्लाई चेन
    • इन्वेंट्री
    • मैन्युफ़ैक्चरिंग
    • पीएलएम
    • परचेज़
    • मेंटेनेंस
    • क्वालिटी
    मानव संसाधन
    • कर्मचारी
    • रिक्रूटमेंट
    • टाइम ऑफ़
    • अप्रेज़ल
    • रेफ़रल
    • फ़्लीट
    मार्केटिंग
    • सोशल मार्केटिंग
    • ईमेल मार्केटिंग
    • एसएमएस मार्केटिंग
    • इवेंट
    • मार्केटिंग ऑटोमेशन
    • सर्वे
    सेवाएं
    • प्रोजेक्ट
    • टाइमशीट
    • फ़ील्ड सर्विस
    • हेल्पडेस्क
    • प्लानिंग
    • अपॉइंटमेंट
    प्रॉडक्टिविटी
    • डिस्कस
    • अप्रूवल
    • आईओटी
    • वीओआईपी
    • नॉलेज
    • WhatsApp
    तीसरे पक्ष के ऐप्लिकेशन Odoo स्टूडियो Odoo क्लाउड प्लेटफ़ॉर्म
  • इंडस्ट्री
    रीटेल
    • बुक स्टोर
    • क्लोदिंग स्टोर
    • फ़र्नीचर स्टोर
    • ग्रॉसरी स्टोर
    • हार्डवेयर स्टोर
    • टॉय स्टोर
    Food & Hospitality
    • बार और पब
    • रेस्टोरेंट
    • फ़ास्ट फ़ूड
    • Guest House
    • बेवरिज डिस्ट्रीब्यूटर
    • होटल
    रियल एस्टेट
    • Real Estate Agency
    • आर्किटेक्चर फ़र्म
    • कंसट्रक्शन
    • एस्टेट मैनेजमेंट
    • गार्ड्निंग
    • प्रॉपर्टी ओनर असोसिएशन
    कंसल्टिंग
    • अकाउंटिंग फ़र्म
    • Odoo पार्टनर
    • मार्केटिंग एजेंसी
    • लॉ फ़र्म
    • टैलेंट ऐक्विज़िशन
    • ऑडिट & सर्टिफ़िकेशन
    मैन्युफ़ैक्चरिंग
    • टेक्सटाइल
    • Metal
    • फ़र्नीचर
    • फ़ूड
    • Brewery
    • कॉर्पोरेट गिफ़्ट
    हेल्थ & फिटनेस
    • स्पोर्ट्स क्लब
    • आईवियर स्टोर
    • फिटनेस सेंटर
    • वेलनेस प्रैक्टिशनर
    • फॉर्मेसी
    • हेयर सैलून
    Trades
    • Handyman
    • आईटी हॉर्डवेयर और सपोर्ट
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    अन्य
    • Nonprofit Organization
    • एन्वायरमेंटल एजेंसी
    • बिलबोर्ड रेंटल
    • फ़ोटोग्राफी
    • बाइक लीजिंग
    • सॉफ़्टवेयर रीसेलर
    Browse all Industries
  • कम्यूनिटी
    सीखें
    • ट्यूटोरियल्स
    • दस्तावेज़
    • सर्टिफ़िकेशन
    • ट्रेनिंग
    • ब्लॉग
    • पॉडकास्ट
    शिक्षा को बढ़ावा दें
    • एजुकेशन प्रोग्राम
    • स्केल अप! बिजनेस गेम
    • Odoo के ऑफ़िस में आएं
    सॉफ़्टवेयर पाएं
    • डाउनलोड
    • वर्शन की तुलना करें
    • रिलीज़
    साथ मिलकर काम करें
    • Github
    • फ़ोरम
    • इवेंट
    • अनुवाद
    • पार्टनर बनें
    • Services for Partners
    • अपना अकाउंटिंग फ़र्म रजिस्टर करें
    सेवाएं पाएं
    • पार्टनर ढूंढें
    • अकाउंटेंट खोजें
    • सलाहकार की मदद लें
    • इम्प्लिमेंटेशन सेवाएं
    • कस्टमर रेफ़रेंस
    • सहायता
    • अपग्रेड
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    डेमो देखें
  • कीमत
  • सहायता

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • सीआरएम
  • e-Commerce
  • लेखांकन
  • इन्वेंटरी
  • PoS
  • प्रोजेक्ट
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
Help

Unable to send emails

Subscribe

Get notified when there's activity on this post

This question has been flagged
emailmailtemplatev18CommunityEdition
2 Replies
1349 Views
Avatar
Shreya Doodipala

I'm using the following code to send an email notification whenever a new record is created.

@api.model
    def create(self,vals):
        record = super().create(vals)
        def send_email_after_commit():
            new_record = self.browse(record.id)
            new_record.send_custom_email()

        self.env.cr.postcommit.add(send_email_after_commit)
        return record
   
    def send_custom_email(self):
        template = self.env.ref('crm.email_template_added_to_opp')

        # Only send to head if not the same as creator
        if self.write_uid.id != self.head_id.id and self.head_id.partner_id:
            recipient_ids = [self.head_id.partner_id.id]
            email_values = {'recipient_ids': [(6, 0, recipient_ids)], }
            template.send_mail(self.id, email_values=email_values)

If I use force_send=True, the email is sent. However, if I don't set it, the email is never sent.

My email cron job is working properly as I have other emails that are sent without a problem.

Email Template

<record id="email_template_added_to_opp" model="mail.template">
            <field name="name">Added to Opportunity Notification</field>
            <field name="model_id" ref="crm.model_name"/>
            <field name="email_from">testam1sales@gmail.com</field>
            <field name="subject">Added to New Opportunity: {{object.lead_id.name}}</field>
            <field name="body_html" type="html"> <div>
                <p>Hello <t t-out='object.bu_head_id.name' />,</p>
                <p>You have been added to a new opportunity <strong> <t t-out="object.lead_id.name" /> </strong>. <br/>
                <a t-attf-href="#{object.lead_id.get_base_url()}/web#id=#{object.lead_id.id}&amp;model=crm.lead&amp;view_type=form"><span style="background-color:green; color:white; padding:4px 10px;">Open <t t-out="object.lead_id.name" /></span></a></p>
                <p><strong>Customer:</strong> <t t-out="object.lead_id.partner_id.name" /> <br/>
                <strong>Salesperson:</strong> <t t-out="object.lead_id.user_id.name" /> <br/>

                <p>Thanks,<br/>
                CRM System</p>
            </div> </field>
        </record>

Odoo v18 Community Edition

0
Avatar
Discard
Avatar
John
Best Answer

send_mail(..., force_send=False) creates a mail.mail record, but Odoo’s mail queue will only send it correctly if it’s fully committed and not in a broken state. Using post-commit + force_send=True is the most reliable for real-time delivery


@api.model

def create(self, vals):

    record = super().create(vals)


    def send_email_after_commit():

        template = self.env.ref('crm.email_template_added_to_opp')

        if self.env.cr.postcommit.add(send_email_after_commit)

    return record


0
Avatar
Discard
Avatar
D Enterprise
Best Answer

Hii,
Update your Python method:

def send_custom_email(self):

    template = self.env.ref('crm.email_template_added_to_opp', raise_if_not_found=False)

    if not template:

        return


    if self.id, email_values=email_values, force_send=False)


Fix your Email Template XML:
<record id="email_template_added_to_opp" model="mail.template">

    <field name="name">Added to Opportunity Notification</field>

    <field name="model_id" ref="your_module.model_your_model"/>  

    <field name="email_from">testam1sales@gmail.com</field>

    <field name="subject">New Opportunity: ${object.lead_id.name}</field>

    <field name="body_html" type="html">

        <div>Hello ${object.bu_head_id.name}, you've been added to ${object.lead_id.name}.</div>

    </field>

    <field name="auto_delete" eval="False"/>  

</record>

To find correct model ID:

  • Go to Settings > Technical > Models
  • Copy the XML ID for your model, like: your_module.model_your_model
Ensure Email Cron is Active:
  • Settings > Technical > Scheduled Actions
  • Find "Mail: Email Queue Manager"
  • Make sure it is enabled and runs every 1–5 minutes.

i hope it is usefull

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Modify Email Notifications
email notifications v18 CommunityEdition EmailNotification
Avatar
Avatar
1
जून 25
2466
Is it possible to receive an email and log it to the chatter in contacts? Solved
email chatter v18
Avatar
Avatar
1
सित॰ 25
1625
Modify Pivot View
Pivot v18 CommunityEdition
Avatar
Avatar
1
जून 25
1749
Unable to send email notifications through write
notifications v18 CommunityEdition
Avatar
Avatar
1
जून 25
1801
How do i attach images from my custom email template?
email sale.order mailtemplate
Avatar
Avatar
1
सित॰ 23
4052
कम्यूनिटी
  • ट्यूटोरियल्स
  • दस्तावेज़
  • फ़ोरम
ओपन सोर्स
  • डाउनलोड
  • Github
  • रनबॉट
  • अनुवाद
सेवाएं
  • Odoo.sh Hosting
  • सहायता
  • अपग्रेड
  • कस्टम डेवलपमेंट्स
  • शिक्षा
  • अकाउंटेंट खोजें
  • पार्टनर ढूंढें
  • पार्टनर बनें
हमारे बारे में
  • हमारी कंपनी
  • ब्रांड ऐसेट
  • संपर्क करें
  • नौकरियां
  • इवेंट
  • पॉडकास्ट
  • ब्लॉग
  • ग्राहक
  • लीगल • गोपनीयता
  • सुरक्षा
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo, बिज़नेस से जुड़े ऐप्लिकेशन का एक कलेक्शन है जो ओपन सोर्स पर आधारित है. इसमें आपकी कंपनी की हर ज़रूरत के लिए ऐप्लिकेशन हैं. जैसे, सीआरएम, ई-कॉमर्स, अकाउंटिंग, इन्वेंट्री, पॉइंट ऑफ़ सेल, प्रोजेक्ट मैनेजमेंट वगैरह.

Odoo की सबसे बड़ी खासियत है कि यह इस्तेमाल करने में बहुत आसान है और यह पूरी तरह से इंटिग्रेट किया हुआ है.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now