ইমেলটিতে "থেকে" শিরোনামটি "পুরো নাম" <ইমেল @ অ্যাড্রেস.কম> ফর্ম্যাটটিতে সেট করুন


14

আমি কিভাবে পরিবর্তন করতে পারেন থেকে বিন্যাসে হতে Drupal এর থেকে পাঠানো ইমেইলের হেডার "Fullname" <email@address.com>?

আমি অতীতে এক পর্যায়ে একটি ড্রুপাল 6 সাইটে এটি পরিচালনা করেছিলাম, তবে আমার আর সেই সাইটে অ্যাক্সেস নেই এবং এটি কীভাবে করবেন তা আমার মনে নেই।

উত্তর:


17

আপনি hook_mail_alter()আপনার সাইট থেকে প্রেরিত যে কোনও ইমেলের ইমেল ঠিকানা "থেকে" পরিবর্তন করতে ব্যবহার করতে পারেন । ব্যবহৃত ইমেল ঠিকানাটির আরএফসি স্ট্যান্ডার্ডের সাথে সামঞ্জস্য করা দরকার যা এটি আপনার প্রশ্নের শিরোনাম। তবে ব্যবহারকারীর নামগুলি মুশকিল হতে পারে এবং এতে অবৈধ অক্ষর থাকতে পারে। D6 ডক্সে একটি মন্তব্য আছে যা ইমেল ঠিকানাটি ফর্ম্যাট করার জন্য একটি কোড নমুনা সরবরাহ করে । আপনার কোডটি দেখতে এমন কিছু লাগবে ...

function yourmodule_mail_alter(&$message) {
  $message['from'] = $message['headers']['From'] = '"Full Name" <email@address.com>';
}

এছাড়াও, মনে রাখবেন যে কেবলমাত্র "থেকে" ঠিকানাটি সেট করা সমস্ত ইমেল ক্লায়েন্টগুলিতে পছন্দসই ফলাফল নাও পেতে পারে ( ড্রুপাল ইস্যু সারিতে আলোচনাটি দেখুন )। আপনার প্রয়োজনীয়তার উপর ভিত্তি করে আপনাকে "প্রেরক", "ত্রুটি-টু" এবং "জবাব-টু" সেট করতেও হতে পারে। এই মানগুলি $messageউপরের কোড নমুনা থেকে ভেরিয়েবলের "শিরোনাম" এ ।


6
ধন্যবাদ। ভবিষ্যতে যারা এই উত্তরে পৌঁছেছেন তাদের জন্য অবশ্যই চূড়ান্ত অনুচ্ছেদে মনোযোগ দিন। উদাহরণস্বরূপ, কেবলমাত্র $ বার্তা ['থেকে'] সেট করা আমার পক্ষে কার্যকর হয়নি। আমাকে $ বার্তা ['শিরোনাম'] ['থেকে'] মান সেট করতে হয়েছিল।
ম্যাক্সিডিসন

1
ধন্যবাদ @ ম্যাক্সিডিসন তুমি ঠিক. আমি উত্তরটি সম্পাদনা করছি এবং আশা করি পরিবর্তনটি গ্রহণযোগ্য হবে।
jcisio

$ বার্তা স্থাপন ['থেকে'] আমার জন্য ভাল কাজ করেছে (৫ বছর পরে), তবে দেখুন যে আপনি নাম থেকে দ্বিগুণ উদ্ধৃতি ব্যবহার করেন
অটোপোয়েটিক

11

ইমেলের সাথে সাইটের নাম যুক্ত করতে ড্রুপাল 6 থেকে এই পদ্ধতিটি। আপনি চান সাইট পুরো নাম সহ বিকল্প ভেরিয়েবল_জেট ('সাইট_নাম, দ্রুপাল')।

/**
* Implementation of hook_mail_alter().
* Here we allow the site name to be used as the senders name for outgoing email.
* see http://drupal.org/node/209672
*/
function mymodule_mail_alter(&$message){
  $default_from = variable_get('site_mail', ini_get('sendmail_from'));

  if($message['from'] == $default_from){
    $message['from'] = '"'. variable_get('site_name', 'Drupal') .'" <'. $default_from .'>';
    $message['headers']['From'] = $message['headers']['Sender'] = $message['headers']['Return-Path'] = $message['headers']['Errors-To'] = $message['headers']['Reply-To'] = $message['from'];
  }
}

hook_mail_alter () এর জন্য ফাংশনটি দ্রুপাল 7 এ পরিবর্তিত হয়নি, সুতরাং এটি কাজ করা উচিত।


এটা আমার জন্য কাজ করা হয় Gmail & outlook। ধন্যবাদ :)
কালিদাসন

3

আপনার পরিবর্তন করতে হবে সেটিংস সম্পর্কিত, এটি D7 এ এখনও একটি সমস্যা। সন্দেহ হলে আপনার হুক_মেল_াল্টারে নিম্নলিখিত কোডটি ব্যবহার করুন:

$message['from'] = $from;
$message['headers']['From'] = $from;
$message['headers']['Sender'] = $from;
$message['headers']['Return-Path'] = $from;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.