web-dev-qa-db-ja.com

送信された電子メールから余分なヘッダーを削除します

私のサイトは本(本のページ)で構成されており、認証されたユーザーは誰でも(ページの他のユーザー/電子メールを使用する外部ユーザー)に電子メールとして本のページを送信できます。メールシステムは正常に動作していますが、(仮に言うと)User1([email protected])がだれかにメールを送信している場合、送信されるメールヘッダーは次のようになります。

[email protected]に代わって[email protected]

ユーザーが自分のメールIDで直接メールを送信できるようにしたい。

私はDrupal 7、 Print および [〜#〜] smtp [〜#〜] を使用して本のページに送信するように設定しています。

4
AjitS

どうやら、誰かがこの問題を修正するカスタムモジュールを配置するコードを考え出しました:

http://drupal.org/node/461324

私はまだそれを試していません。

更新:

変更されたバージョンを試しましたが、うまくいきました。ここに私が持っていたものがあります:

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'];
}
?>
5
paul

それについてあなたができることはほとんどありません。過去にもこれに問題がありました。これは既知の問題で、関連するチケットは drupal.org です。

多くのモジュール(ルールなど)が使用するdrupal_mail()関数のように、指定したユーザーのメールを意図的にメールの「差出人」フィールドとして設定しますが、サイトのデフォルトのメールはメールの「送信者」情報に含めます。これにより、メールクライアントによってメールの表示が異なります。したがって、たとえば、Outlookは表示されている形式でメールを表示しますが、Gmailは期待どおりに「From」情報を表示します。

この問題に関する別の良いコメントが this thread にあります。

これが問題を少し明確にするのに役立つことを願っています!

2