নতুন অর্ডার ইমেল নিশ্চিতকরণ প্রেরণ করা হচ্ছে না


100

আমি আমার ওয়েবসাইটটি 1.9.1 এ আপগ্রেড করেছি এবং এখন আমার গ্রাহকরা অর্ডার নিশ্চিতকরণ ইমেল পাচ্ছেন না।

আমি অ্যাডমিন প্যানেলের মাধ্যমে প্রেরণের চেষ্টা করেছি কিন্তু কিছুই ঘটে না, আপডেট আপডেটও পাওয়া যাচ্ছে না।


উত্তর:


96
  1. ম্যাজেন্টো 1.9.1 দিয়ে শুরু করে ইমেলগুলি সরাসরি চেকআউট করার সময় প্রেরণ করা হয় না তবে পরিবর্তে সারি করা হয়।
  2. আপনার ম্যাজেন্টো ক্রোনজবের মাধ্যমে সারিটি প্রক্রিয়াজাত করা হচ্ছে - দয়া করে নিশ্চিত হয়ে নিন যে এটি সেট আপ হয়েছে এবং সঠিকভাবে চলছে।
  3. এক্সটেনশন AOE_Scheduler নিশ্চিত করুন যে আপনার Magento cronjob সঠিকভাবে কনফিগার করা হয়েছে এবং চলমান আপনি সাহায্য করতে পারেন।

6
নিশ্চিত হয়ে cron.shচলছে! ক্রোনটি সঠিকভাবে কনফিগার করা হয়েছে তা আবিষ্কার করার জন্য আমরা কেবল একটি পুরো দিন এটি ডিবাগ করে কাটিয়েছি।
forsvunnet

2
ক্রোন.এফপি কাজ করছে কিনা তা কীভাবে জানবেন?
তেজা ভগবান কোল্লাপাড়া

2
আপনি লগগুলিতে / var / লগ / ক্রোনটির সন্ধান করতে পারেন
Beto Castillo

আমি ম্যাজেন্টো ২ তে অর্ডার ইমেলের সাথে ইস্যু করেছি। ক্রোনও চলছে তবে মেল পাঠানো হচ্ছে না। ডাটাবেস সারণীতে বেশিরভাগ ক্রোন টাস্ক মিস হয়। আমি কীভাবে এটি সমাধান করতে পারি?
ম্যাজকোড

@ ম্যাজকোড আমি প্রথমে ম্যাজেন্টো 2 নির্দিষ্ট প্রশ্নের সন্ধানের পরামর্শ দিই। আপনি যদি এখনও খুঁজে পেয়েছেন / বাতিল করেছেন তবে তার বিবরণ সহ আপনার নিজের প্রশ্ন যুক্ত করতে নির্দ্বিধায় কেউ না থাকলে।
এ ক্রেস্টফ ফুমানে

29

আমাদের ম্যাজেন্টো 1 স্টোর থেকে মেলগুলি প্রেরণের জন্য 2 টি পদ্ধতি রয়েছে।

  1. ক্রোন ব্যবহার করে
  2. ক্রোন এড়িয়ে

আপনি যদি ক্রোন এড়াতে চান:

আপনার অর্ডার.এফপি ফাইলটি এখানে খুলুন

অ্যাপ্লিকেশন / কোড / কোর / পুরোনো যাদুকর / বিক্রয় / মডেল / Order.php

লাইন # 1356,1450,

পরিবর্তন

//$mailer->setQueue($emailQueue)->send(); 

প্রতি:

$mailer-> send();

ইন app/design/frontend/base/default/template/checkout/success.phtml: মেল সরাসরি প্রেরণের জন্য নিম্নলিখিত লাইন শীর্ষ সাফল্য পৃষ্ঠা যুক্ত করুন

$order = Mage::getModel('sales/order');
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId(); 
$order->loadByIncrementId($incrementId);
try{ 
    $order->sendNewOrderEmail();
} catch (Exception $ex) { 
    echo "Email Not Sent..."; 
}
$customer = Mage::getSingleton('customer/session')->getCustomer();
$email = $customer->getEmail();
//End Email Sending

পুরোপুরি কাজ করা, সাফল্যের জন্য কোড যুক্ত করা কি প্রয়োজনীয়? পিএইচটিএমএল বোকোজ ছাড়া এটি
ঠিকঠাক

3
এই শুনে হ্যালো হ্যাপি কোনও কোড যুক্ত করার দরকার নেই কারণ লেনদেনের মেলটি তাত্ক্ষণিক ইমেলটিতে পৌঁছে যাবে।
তেজা ভগবান কোলেপাড়া

1
ভেন্ডর কোডটি কখনই পরিবর্তন করবেন না (বা ওভাররাইট করুন) - আপনি আপগ্রেড করলে কী হয়?
বাচি

20

আমি টেমপ্লেট.এফপি থেকে নিম্নলিখিত মেল কাতার কোডটি সরিয়েছি, তখন গ্রাহক দ্বারা অর্ডার দেওয়া হয় বা আমি যখন প্রশাসক প্যানেল "বিক্রয় / আদেশ" ট্যাব থেকে ইমেল প্রেরণ করতে ক্লিক করি তখন আমি ইমেল পেতে শুরু করি।

ম্যাজেন্টো তাত্ক্ষণিক ইমেলের পরিবর্তে তফসিল কাজের মাধ্যমে পাঠানোর আদেশ ইমেলটি সেট করেছিল ... সম্ভবত কার্য সম্পাদনের কারণে? টেমপ্লেট.এফপি এবং প্রতি 5 মিনিটে চালানোর জন্য শিডিয়ুল কাজ সেট এবং চালানোর জন্য একটি উপায় সন্ধান করুন ...

টেমপ্লেট.এফপিটি => / অ্যাপ্লিকেশন / কোড / কোর / ম্যাজ / কোর / মডেল / ইমেল / টেম্পলেট.এফপিতে অবস্থিত

   if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) { 

    /** @var $emailQueue Mage_Core_Model_Email_Queue */
        $emailQueue = $this->getQueue();
        $emailQueue->setMessageBody($text);
        $emailQueue->setMessageParameters(array(
                'subject'           => $subject,
                'return_path_email' => $returnPathEmail,
                'is_plain'          => $this->isPlain(),
                'from_email'        => $this->getSenderEmail(),
                'from_name'         => $this->getSenderName(),
                'reply_to'          => $this->getMail()->getReplyTo(),
                'return_to'         => $this->getMail()->getReturnPath(),
            ))
            ->addRecipients($emails, $names, Mage_Core_Model_Email_Queue::EMAIL_TYPE_TO)
            ->addRecipients($this->_bccEmails, array(), Mage_Core_Model_Email_Queue::EMAIL_TYPE_BCC);
        $emailQueue->addMessageToQueue();

        return true;
    }

এই পদ্ধতিটি সমস্যার সমাধান করেছে, তবে নিউজলেটার সাবস্ক্রিপশনটি কাজ করছে না old পুরানো টেমপ্লেটে ফিরে ph
বালাজিসাউন্ডার

14

নীচে দুটি সমাধান রয়েছে:

সমাধান -01: ক্রোন ব্যবহার করে

সিস্টেম> কনফিগারেশন> উন্নত> সিস্টেম> ক্রোন

ডিফল্ট সেটিংস হ'ল:

সবার আগে, Magento 1.9+ লেনদেনের ইমেলগুলি প্রেরণের জন্য ক্রোন জবগুলিতে সম্পূর্ণভাবে নির্ভর করে। যদি আপনার আগে ক্রোন জবগুলি সঠিকভাবে সেট আপ না করা থাকে তবে আপনাকে এখনই এটি করতে হবে।

প্রথমে নিশ্চিত হয়ে নিন যে আপনি ম্যাগন্টো প্রশাসকের অধীনে ক্রোন কার্যগুলি সেট আপ করেছেন

সিস্টেম> কনফিগারেশন> উন্নত> সিস্টেম> ক্রোন

ডিফল্ট সেটিংস হ'ল:

১৫ টি ইতিহাসের ক্লিপআপের মধ্যে না চালিত হলে 20 এর আগে প্রতিটি 15 সময়সূচী নির্ধারণ করা মিস হয়েছে সাফল্যের ইতিহাস লাইফটাইম 60 ব্যর্থতার ইতিহাস লাইফটাইম 600

এমন লোকেরা আছেন যাঁকে এই সেটিংস পরিবর্তন করার পরামর্শ দেওয়া হচ্ছে, তবে যেহেতু তারা সেরা সংমিশ্রণের সাথে একমত হতে পারে না, তাই আমি বরং এটি এটিকে ছেড়ে দিই।

তারপরে আপনাকে আপনার হোস্টিং কন্ট্রোল প্যানেলে যেতে হবে এবং ক্রোন জব সেট আপ করতে হবে। সিপ্যানেলে এটি অ্যাডভান্সড> ক্রোন জবসের অধীনে। প্রতি পাঁচ মিনিটে চালানোর জন্য তাদের সেট আপ করুন এবং এই আদেশটি ব্যবহার করুন:

php -f /home/username/public_html/cron.php

উপরের পাথটি সঠিক কিনা তা পরীক্ষা করুন এবং ফাইলটি ক্রোন.এফপি প্রকৃতপক্ষে আপনার ম্যাজেন্টো ইনস্টলেশনের মূলে রয়েছে (যদি আপনি স্রেফ আপগ্রেড করেছেন, এটি হওয়া উচিত)। সঠিক অ্যাকাউন্টে ব্যবহারকারীর নাম পরিবর্তন করুন।

এখন, আমি প্রাথমিকভাবে xtento.com এ বিকাশকারীদের পরামর্শ অনুসরণ করার ভুল করেছিলাম যারা উইজেট কমান্ড স্ট্রিং ব্যবহার করতে বলে: wget -O / dev / null -q http://www.YOURDOMAIN.com/PATH_TO_MAGENTO/cron। পিএইচপি

সমাধান -02: ক্রোন এড়িয়ে চলুন

লেনদেনমূলক ইমেলগুলি তাত্ক্ষণিকভাবে প্রেরণ করা হবে।

//app/code/core/Mage/Sales/Model/Order.php Line#1356,1450 
  //$mailer->setQueue($emailQueue)->send(); Change To 

          $mailer->send();

app/design/frontend/base/default/template/checkout/success.phtml
    //add following line Top success page for sending mail direct
    // Start Send Emai Here......
    $order = Mage::getModel('sales/order');
    $incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId(); 
    $order->loadByIncrementId($incrementId);

    try{ $order->sendNewOrderEmail();} 
    catch (Exception $ex) { echo "Email Not Sent..."; }
    $customer = Mage::getSingleton('customer/session')->getCustomer();
    $email = $customer->getEmail();//End Email Sending

10

Magento 1.9 এর সাথে সমস্ত ইমেল সারিবদ্ধ করা হবে এবং পরে ক্রনের মাধ্যমে প্রেরণ করা হবে।

Magento 1.9 রিলিজ নোট

আপনি আপনার লেনদেন ইমেল ক্রন মাধ্যমে পাঠানো হবে চান, আপনি থেকে ক্রন সেট করতে পারেন সিস্টেম > কনফিগারেশন > সিস্টেম ট্যাবের অধীনে ক্রন বা ক্রন তৈরি Cpanel এটি আপনার সরাসরি cron.sh বা cron.php জন্য root Magento ডিরেক্টরির মধ্যে অবস্থিত।


10

কেবলমাত্র "এসএমটিপি প্রো ইমেল" এক্সটেনশানটি ইনস্টল করুন: http://www.magentocommerce.com

আপনার কাস্টম এসএমটিপি বিবরণ পূরণ করুন এবং সম্পন্ন হয়েছে।


এটি বের করতে আমার পুরো দুটি দিন লেগেছিল। কোনও ক্রোন জবসের প্রয়োজন নেই, যদিও আপনি যদি ক্রোন চাকরির কাজ করতে চান এবং আপনি উপরের কাজটি করতে না চান তবে আপনি নিম্নলিখিতটি করতে পারেন:

ম্যাজেন্টো মূল ডিরেক্টরিতে ক্রোন.এফপি সম্পাদনা করুন

পরে:

$isShellDisabled = (stripos(PHP_OS, win’) === false) ? $isShellDisabled : true;

কোডের এই লাইনটি যুক্ত করুন:

$isShellDisabled = true;

ক্রোন জব সেট আপ করুন

সি প্যানেলে ক্রোন জবস বিভাগে
একটি ক্রোন জব তৈরি করুন যা প্রতি 15 মিনিটে নিম্নলিখিত কমান্ডটি চালায়:

php -f /home/USERNAME/public_html/domain.com/magento_folder/cron.php

গুরুত্বপূর্ণ লক্ষণীয় যে এসএমটিপি প্রো সহ এই কনফিগারেশনটি অবশ্যই ম্যাজেন্টো ১.৯.১ এবং তার থেকে উপরে করা উচিত: সিস্টেম -> কনফিগারেশন -> এসএমটিপি প্রো -> সারি কনফিগারেশন -> সারি ব্যবহার ডিফল্ট থেকে কখনই নয় to
শ্রেনিক

8

ম্যাজেন্টো 1.9.1.0 এ, ম্যাজেন্টো একটি নতুন বৈশিষ্ট্য যুক্ত করেছে: তারা আদেশের ইমেল core_email_queueপ্রেরণের জন্য টেস্টে অর্ডার ইমেল সংরক্ষণ করে । আমাদের cron.phpসার্ভারটি সেট করতে হবে

cron.phpফাইল সেট core_email_queue_send_allক্রন পরিকল্পনাতে টেবিলে। ক্রোন যখন ডেকে আনা "প্রেরণ" পদ্ধতি চালায় Mage_Core_Model_Email_Queue। তারা মেলটি গ্রাহকের কাছে প্রেরণ করে।

সুতরাং উপরের ফিক্স মূল ফাইলের কোনও পরিবর্তন ছাড়াই কাজ করছে।


6

নীচের কমান্ড হিসাবে কেবল আপনার সার্ভারে ক্রোন সেটআপ করুন এবং তারপরে আপনি বিক্রয় মেলগুলি গ্রহণ করতে শুরু করবেন।

php -q /home/YOUR_USER_NAME/public_html/Path_to_cron.php

"*****" হিসাবে সাধারণ সেটিংস ব্যবহার করুন

আপনার সাথে YOUR_USER_NAME এবং Path_to_cron.php প্রতিস্থাপন করা দরকার।


6

N98-magerun ব্যবহার করে আমি কেবল নিম্নলিখিতটি চালাচ্ছি:

n98-magerun sys:cron:run core_email_queue_send_all

বা সময়মতো এটি চালিয়ে যেতে না চাইলে:

watch -n 10 n98-magerun sys:cron:run core_email_queue_send_all

এটি প্রতি 10 সেকেন্ডে সারিতে থাকা সমস্ত ইমেল পাঠায়।


6

গডাডি সার্ভারের জন্য ক্রোনজব সেট আপ করার সময় নিম্নলিখিত কোডগুলি ব্যবহার করুন:

*   *   *   *   *   /usr/local/bin/php -q /home/steelwa/public_html/project_name/cron.php

এটি প্রতি মিনিটে চলবে।এখানে চিত্র বর্ণনা লিখুন


5

যদি কেবলমাত্র আদেশের ইমেলটি প্রেরণ না করা হয় তবে এটি কারণ ম্যাগেন্টো কেবল অর্ডার ইমেলগুলি সারি করে এবং তাদের ব্যাচে পাঠানোর জন্য সেভ করে। আপনার যদি হার্টবিট ক্রোন সেটআপ না থাকে .. তবে তারা কখনই ম্যাজেন্টো সারিটি ছেড়ে যাবে না।

আপনি অন্যান্য ম্যাজেন্টো ইমেলগুলি বাইরে চলে যেতে দেখছেন কারণ সেগুলি সরাসরি ম্যাজেন্টো থেকে আপনার মেলার ডিমনকে দেওয়া হয়। হার্বিট ক্রোনটি চালা না হওয়া পর্যন্ত ম্যাজেন্টো সারিগুলি (অর্ডার ইমেলের মতো) এমনকি মেলার ডিমনকে হস্তান্তর করা হয় না।

তাদের বাইরে যেতে বাধ্য করতে ... http://yourmagentodomain.com/cron.php এ নেভিগেট করুন এবং প্রতি পাঁচ মিনিটে সেই পৃষ্ঠাটি সতেজ রাখুন এবং আপনি সারি অর্ডার ইমেলগুলি বেরিয়ে আসা শুরু করবেন। হার্টবিট ক্রোন আপনার জন্য এটি করার কথা। ওহ, এবং যখন আপনি সেই ক্রোন.এফপি ফাইলটিতে নেভিগেট করেন, পৃষ্ঠাটি ফাঁকা বলে মনে করা হচ্ছে তাই শঙ্কিত হবেন না ... এটি কাজ করবে।


5

আমারও একই সমস্যা ছিল এবং এটি একটি এক্সটেনশনের সাথে সম্পর্কিত ছিল। Fooman ইমেল সংযুক্তাগুলি এখন v0.10.4 আপডেট করা হয়েছে। V0.10.3 এর নীচের সংস্করণগুলি ম্যাজেন্টো 1.9 এর সাথে কাজ করবে না।


5

জ্ঞানের ভিত্তিটিকে কাজ করার জন্য আমি অনুসরণ করেছি: http://www.magentocommerce.com

"ট্রানজেকশনাল ইমেলগুলির স্থানীয়করণ" অংশে, পূর্ববর্তী নির্দেশাবলী অনুসরণ করার পরে / en_UK এ অনুলিপি করার পরে অবশেষে তাদের ইমেলগুলি পেয়েছিল (পূর্বে পাঠানো হয়নি এমনগুলি সহ), গ্রাহকদের কাছে অর্ডার নিশ্চিতকরণ পৃষ্ঠাটি প্রদর্শিত না হওয়ায় আমাদেরও সমস্যা ছিল had সমাপ্তির। এটিও ঠিক করা হয়েছিল।

উদাহরণস্বরূপ en_GB লোকেলের জন্য আপনার কাছে অবস্থিত ফাইলগুলি অনুলিপি করতে হবে:

অ্যাপ্লিকেশন / লোকেল / en_US / টেমপ্লেট / ইমেইল

অবস্থান:

অ্যাপ্লিকেশন / লোকেল / en_GB / টেমপ্লেট / ইমেইল


2
Magento এসই স্বাগতম! আপনি কি নিজের উত্তরে (কোড উদাহরণ ইত্যাদির প্রস্তাব দিয়ে) আরও বিস্তারিত বলতে পারেন?
বেনমার্ক

3

যদি আপনার মেইল ​​সিস্টেম (smtp, zend_mail) ঠিকঠাক কাজ করে; মেলকিউ অক্ষম করা আপনার সমস্যার সমাধান করতে পারে।

/app/code/core/Mage/Core/Model/Email/Template.php

407 লাইন পরিবর্তন করুন

if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {

প্রতি

if (false /\*$this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue\*/) {

5
এটি যোগাযোগের ফর্মের কার্যকারিতা ভঙ্গ করে।
জোয়া

9
মূল সম্পাদনা করবেন না
কেভিন শ্রোয়েডার

1
দয়া করে এমন সমাধানগুলি সরবরাহ করবেন না যার জন্য CORE এ পরিবর্তন প্রয়োজন। কোর ক্লাস কখনই পরিবর্তন করা উচিত নয়।
আহসান হোরানী

2

আপনার যদি এক্সটেনশন এসএমটিপিপ্রো থাকে তবে এটি অক্ষম করার চেষ্টা করুন। এবং আবার চেক করুন। সমস্ত ইমেল সূক্ষ্মভাবে কাজ করে এবং আপনাকে কেবল সঠিকভাবে কনফিগার করতে হবে।


0

আরও ভাল উপায় হ'ল আপনার অ্যাপ / কোড / কোর / ম্যাজ / কোর / মডেল / ইমেল / টেমপ্লেট / মাইলআর.পি.পি. এর একটি অনুলিপি তৈরি করা

আপনার স্থানীয় ফোল্ডার অ্যাপ্লিকেশন / কোড / স্থানীয় / Mage / কোর / মডেল / ইমেল / টেমপ্লেট / মাইলআরপিপি

তারপরে line 76 লাইনে এই লাইনটি মন্তব্য করুন

->setQueue($this->getQueue())

তারপরে আপনি হয়ে গেছেন। সাফল্য.পিএইচটিএমএল টেম্পলেটটি সংশোধন করার দরকার নেই। : ডি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.