it-swarm.asia

قم بتعيين رأس "من" في البريد الإلكتروني ليكون بتنسيق "الاسم الكامل" <[email protected]>

كيف يمكنني تغيير رأس from في البريد الإلكتروني المرسل من Drupal ليكون في التنسيق "Fullname" <[email protected]>؟

تمكنت من القيام بذلك على موقع Drupal 6 في وقت ما في الماضي ، ولكن لم يعد بإمكاني الوصول إلى هذا الموقع ، ولا أتذكر كيفية القيام بذلك.

14
maxedison

يمكنك استخدام hook_mail_alter() لتغيير عنوان البريد الإلكتروني "من" لأي بريد إلكتروني تم إرساله من موقعك. يجب أن يتوافق عنوان البريد الإلكتروني المستخدم مع معيار RFC ، وهو ما يفعله هو عنوان سؤالك. ولكن يمكن أن تكون أسماء المستخدمين خادعة وقد تحتوي على أحرف غير قانونية. يوجد تعليق على مستندات D6 يوفر عينة رمز لـ تنسيق عنوان البريد الإلكتروني بشكل صحيح . الكود الخاص بك سيبدو مثل ...

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

ضع في اعتبارك أيضًا أن مجرد تعيين العنوان "من" قد لا يحقق النتائج المرجوة في جميع عملاء البريد الإلكتروني (انظر مناقشة حول Drupal قائمة انتظار المشكلة ). قد تحتاج أيضًا إلى تعيين "المرسل" و "الأخطاء إلى" و "الرد على" بناءً على متطلباتك. هذه القيم موجودة في "رأس" $message متغير من نموذج الكود أعلاه.

17
SoftArtisans

هذه هي الطريقة من Drupal 6 لإضافة اسم الموقع إلى البريد الإلكتروني. استبدل variable_get ('site_name، Drupal') بالاسم الكامل للموقع الذي تريده).

/**
* 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 () في Drupal 7 ، لذلك يجب أن تعمل.

11
iStryker

فيما يتعلق بالإعدادات التي عليك تغييرها ، لا تزال هذه مشكلة في D7. في حالة الشك ، استخدم التعليمات البرمجية التالية في hook_mail_alter:

$message['from'] = $from;
$message['headers']['From'] = $from;
$message['headers']['Sender'] = $from;
$message['headers']['Return-Path'] = $from;
3
Countzero