जवाबों:
आप hook_mail_alter()
अपनी साइट से भेजे गए किसी भी ईमेल के "से" ईमेल पते को बदलने के लिए उपयोग कर सकते हैं । उपयोग किए गए ईमेल पते को RFC मानक के अनुरूप होना चाहिए, जो यह आपके प्रश्न का शीर्षक है। लेकिन उपयोगकर्ता नाम मुश्किल हो सकते हैं और इसमें अवैध चरित्र हो सकते हैं। D6 डॉक्स पर एक टिप्पणी है जो ईमेल पते को ठीक से प्रारूपित करने के लिए एक कोड नमूना प्रदान करती है । आपका कोड कुछ इस तरह दिखेगा ...
function yourmodule_mail_alter(&$message) {
$message['from'] = $message['headers']['From'] = '"Full Name" <email@address.com>';
}
इसके अलावा, ध्यान रखें कि "से" पते को सेट करने से सभी ईमेल क्लाइंट में वांछित परिणाम नहीं हो सकते हैं ( Drupal समस्या कतार पर चर्चा देखें )। आपको अपनी आवश्यकताओं के आधार पर "प्रेषक", "त्रुटियों-से" और "उत्तर-में" सेट करने की आवश्यकता हो सकती है। वे मान $message
ऊपर कोड नमूना से चर के "हेडर" में हैं।
यह साइट नाम को ईमेल में जोड़ने के लिए 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'];
}
}
हुक_मेल_अल्टर () के लिए फ़ंक्शन ड्रुपल 7 में नहीं बदला है, इसलिए इसे काम करना चाहिए।
Gmail & outlook
। धन्यवाद :)
आपको जिन सेटिंग्स को बदलना है, उनके संबंध में, यह अभी भी D7 में एक समस्या है। यदि संदेह है, तो निम्नलिखित कोड का उपयोग अपने hook_mail_alter में करें:
$message['from'] = $from;
$message['headers']['From'] = $from;
$message['headers']['Sender'] = $from;
$message['headers']['Return-Path'] = $from;