এখানে অন্য পদ্ধতি। (কোডটি এই স্যান্ডবক্সে উপলভ্য ।
nodemail.info
name = Nodemail
description = Sends node e-mails.
core = 7.x
nodemail.install '
<?php
function nodemail_enable() {
$current = variable_get('mail_system', array('default-system' => 'DefaultMailSystem'));
$addition = array('nodemail' => 'NodemailMailSystem');
variable_set('mail_system', array_merge($current, $addition));
}
function nodemail_disable() {
$mail_system = variable_get('mail_system', array('default-system' => 'DefaultMailSystem'));
unset($mail_system['nodemail']);
variable_set('mail_system', $mail_system);
}
nodemail.module
<?php
class NodemailMailSystem extends DefaultMailSystem {
public function format(array $message) {
$message['body'] = implode("\n\n", $message['body']);
$message['body'] = drupal_wrap_mail($message['body']);
return $message;
}
}
function nodemail_mail($key, &$message, $params) {
switch ($key) {
case 'node_mail':
$message['headers']['Content-Type'] = 'text/html; charset=UTF-8;';
$message['subject'] = $params['subject'];
$message['body'][] = $params['body'];
break;
}
}
function nodemail_node_insert($node) {
if ($node->type == 'mycontenttype') {
$params['subject'] = 'Node "' . $node->title . '" was created';
$params['body'] = render(node_view($node));
$to = variable_get('site_mail', '');
$from = 'noreply@example.com';
$lang = language_default();
drupal_mail('nodemail', 'node_mail', $to, $lang, $params, $from);
}
}
এই মডিউলটিকে এইচটিএমএল ই-মেইল প্রেরণের অনুমতি দেওয়ার জন্য ইনস্টল করা ফাইল সামগ্রী এবং নোডমেলমেল সিস্টেম সিস্টেম শ্রেণি ব্যবহৃত হয়। অন্য দুটি ফাংশন হুক_মেল () এবং হুক_নোড_ইনসার্ট () এর বাস্তবায়ন যা কোনও নোড mycontenttype
তৈরি হওয়ার পরে ইমেলগুলি প্রেরণের সাথে সম্পর্কিত । একটি জিনিস আপনাকে লক্ষ্য করতে হবে যে দ্রুপাল নোড প্রদর্শনের জন্য থিমের নোড টেমপ্লেট ফাইলটি ব্যবহার করবে যা নোড তৈরি পৃষ্ঠার জন্য ব্যবহৃত হবে (বা মূল নোড.tpl.php থিমটি না থাকলে) । আপনি এখানে ব্যবহৃত নোড_ভিউ () এবং ড্রুপাল_মেল () ফাংশনগুলিও দেখতে চাইতে পারেন। এই পুরো জিনিসটি ড্রুপাল 7 মূল কার্যকারিতা নিয়ে কাজ করা উচিত (কোনও অবদানের মডিউলগুলির প্রয়োজন নেই)।