আমি ম্যাজেন্টোতে কিছু ইনপুট ক্ষেত্র সহ একটি ফর্ম তৈরি করেছি। তবে আমি যখন সাবমিট ক্লিক করব তখন ম্যাজেন্টো ইমেলটি প্রেরণ করবে না।
আমি কীভাবে ম্যাজেন্টোতে একটি প্রাথমিক ইমেল পাঠাতে পারি?
আমি ম্যাজেন্টোতে কিছু ইনপুট ক্ষেত্র সহ একটি ফর্ম তৈরি করেছি। তবে আমি যখন সাবমিট ক্লিক করব তখন ম্যাজেন্টো ইমেলটি প্রেরণ করবে না।
আমি কীভাবে ম্যাজেন্টোতে একটি প্রাথমিক ইমেল পাঠাতে পারি?
উত্তর:
ম্যাজেন্টোতে ইমেল প্রেরণের জন্য সহজ ফাংশন
<?php
public function sendMailAction()
{
$html="
put your html content here
blah blah
";
$mail = Mage::getModel('core/email');
$mail->setToName('Your Name');
$mail->setToEmail('Youe Email');
$mail->setBody('Mail Text / Mail Content');
$mail->setSubject('Mail Subject');
$mail->setFromEmail('Sender Mail Id');
$mail->setFromName("Msg to Show on Subject");
$mail->setType('html');// You can use Html or text as Mail format
$mail->setBodyHTML($html); // your content or message
try {
$mail->send();
Mage::getSingleton('core/session')->addSuccess('Your request has been sent');
$this->_redirect('');
}
catch (Exception $e) {
Mage::getSingleton('core/session')->addError('Unable to send.');
$this->_redirect('');
}
}
?>
নতুন টেম্পলেট ফর্ম তৈরি করুন "লেনদেনমূলক ইমেলগুলি"।
hello {{var customerName}},
You received test template.
Thank you
নতুন টেমপ্লেট তৈরির পরে এর আইডি নোট করুন
কন্ট্রোলার অ্যাকশন তৈরি করুন
public function sendEnquiry()
{
$customer = Mage::getSingleton('customer/session')->getCustomer();
$templateId = 8; // Enter you new template ID
$senderName = Mage::getStoreConfig('trans_email/ident_support/name'); //Get Sender Name from Store Email Addresses
$senderEmail = Mage::getStoreConfig('trans_email/ident_support/email'); //Get Sender Email Id from Store Email Addresses
$sender = array('name' => $senderName,
'email' => $senderEmail);
// Set recepient information
$recepientEmail = $customer->getEmail();
$recepientName = $customer->getName();
// Get Store ID
$store = Mage::app()->getStore()->getId();
// Set variables that can be used in email template
$vars = array('customerName' => $customer->getName());
// Send Transactional Email
Mage::getModel('core/email_template')
->sendTransactional($templateId, $sender, $recepientEmail, $recepientName, $vars, $storeId);
Mage::getSingleton('core/session')->addSuccess($this->__('We Will Contact You Very Soon.'));
}
এখন আপনি অ্যাডমিন "লেনদেনমূলক ইমেল" ব্যবহার করে সাধারণ মেল পাঠাতে পারেন।
আপনার your_form.phtml অনুসরণ করছেন
<form action="<?php echo $this->getUrl("your_module_name/index/sendEnquiry")?>" id="discuss" method="post">
//Your form
</form>
এই কোডটি ব্যবহার করে দেখুন এবং সে অনুযায়ী এটি সামঞ্জস্য করুন
$email_template = Mage::getModel('core/email_template')
->loadDefault($template_id);
/* load template by id */
$email_template_variables = array(
'customer_name' => $customer_name);
$sender_email = 'Info@yourCompany.com';
$sender_name = 'Your Friend at The Company';
$email_template->setSenderName($sender_name);
$email_template->setSenderEmail($sender_email);
$email_template->send(
$email_to, $customer_name,$email_template_variables
);
বেসিক (আলাদা পিএইচপি স্ক্রিপ্টে কাজ করা উচিত)। এটি ব্যতিক্রম ছাড়া কাজ করে, তবে আমি মেল পাইনি। তাই এসএমটিপি স্থাপনে আমি বেশি সময় ব্যয় করেছি।
// do not forget to include Mage.php before that
Mage::app();
// send email
$mail = Mage::getModel('core/email')
->setToEmail('<my email>')
->setBody('Body')
->setSubject('Subject:'.date("Y-m-d H:i:s"))
->setFromEmail('<from email>')
->setFromName('Magento Store Admin')
->setType('html');
$mail->send();
পূর্বশর্ত:
ম্যাজেন্টো মেল সেটিংস লোকালহোস্টে সেট করা হয়েছে ( সিস্টেম -> কনফিগারেশন -> সিস্টেম -> মেল প্রেরণ সেটিংস )
নিশ্চিত হয়ে নিন যে আপনার এসএমটিপি কাজ করছে (লোকালহোস্টে আপনি যাচাই করতে পারেন, আপনাকে সেন্টোজে টেলনেট "ইয়ম ইনস্টল টেলনেট" ইনস্টল করতে হতে পারে)
telnet localhost 25
MAIL FROM: <put from mail>
RCPT TO: <put to mail>
data:
Subject: <put your subject>
<Put body here>
.
QUIT
যদি এটি এসএমটিপি কনফিগার করে না কাজ করে। আমার সেন্টোসগুলিতে পোস্টফিক্স চলছে
ps aux | grep posfix
আমি vi সহ সেটিংস সম্পাদনা করেছি:
vi /etc/postfix/main.cf
আমার মস্তকের নাম ঠিক করা আমার পক্ষে কাজ করেছে
পিএইচপি মেল ফাংশন চেষ্টা করুন:
// The message
$message = "Line 1\r\nLine 2\r\nLine 3";
// Send
$headers = 'From: <from mail>' . "\r\n" .
'Reply-To: <from mail>' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail('<to mail>', 'My Subject', $message, $headers);
echo "<p>php mail sent 3</p>";
পোস্টফিক্সের জন্য আপনি "মেলকিউ" টাইপ করতে মেল সারি দেখতে পারেন