私のサイトは本(本のページ)で構成されており、認証されたユーザーは誰でも(ページの他のユーザー/電子メールを使用する外部ユーザー)に電子メールとして本のページを送信できます。メールシステムは正常に動作していますが、(仮に言うと)User1([email protected])がだれかにメールを送信している場合、送信されるメールヘッダーは次のようになります。
ユーザーが自分のメールIDで直接メールを送信できるようにしたい。
私はDrupal 7、 Print および [〜#〜] smtp [〜#〜] を使用して本のページに送信するように設定しています。
どうやら、誰かがこの問題を修正するカスタムモジュールを配置するコードを考え出しました:
私はまだそれを試していません。
更新:
変更されたバージョンを試しましたが、うまくいきました。ここに私が持っていたものがあります:
email_sender_override.info
:
name = E-mail Sender Override
description = Overrides the 'Sender' of an e-mail message with the 'From' address.
core = 7.x
package = Webform
email_sender_override.module
:
<?php
/**
* @file
*
* Mail altering function to override the 'Sender' of a mail message with the address
* in the 'From' field.
*
*/
/**
* email_sender_override_mail_alter
*
* Alters the sender of the e-mail message to be the same as the 'From' address.
* Taken from: http://drupal.org/node/461324
* See also: http://api.drupal.org/api/drupal/includes!mail.inc/function/drupal_mail/6#comment-3243
* http://drupal.org/node/656472
*
* @param message
* the full e-mail message being sent -- this will be altered
*/
function email_sender_override_mail_alter(&$message)
{
$message['headers']['Sender'] = $message['headers']['From'];
}
?>
それについてあなたができることはほとんどありません。過去にもこれに問題がありました。これは既知の問題で、関連するチケットは drupal.org です。
多くのモジュール(ルールなど)が使用するdrupal_mail()関数のように、指定したユーザーのメールを意図的にメールの「差出人」フィールドとして設定しますが、サイトのデフォルトのメールはメールの「送信者」情報に含めます。これにより、メールクライアントによってメールの表示が異なります。したがって、たとえば、Outlookは表示されている形式でメールを表示しますが、Gmailは期待どおりに「From」情報を表示します。
この問題に関する別の良いコメントが this thread にあります。
これが問題を少し明確にするのに役立つことを願っています!