0

サイトに簡単な連絡先フォームがあります。

お問い合わせフォームから送信されるメールを処理するためだけのメール アカウントがあります。これは「mycompany.noreply@gmail.com」です

問題

ユーザーがフォームに入力して送信すると、2 つのメールが送信されます。サイトのユーザーへの 1 つの確認メールと、会社への実際に記入されたフォーム。

会社はそれを望んでいるので、ユーザーからメールを受け取ったときに返信を押すと、ユーザーのメールアドレスが自動的に「宛先」フィールドに入力されます。しかし、現時点では、「送信者名 'sender_email_address'」ではなく「送信者名 'mycompany.noreply@gmail.com'」と表示されます。

コード

class Notifications < ActionMailer::Base

  def enquiry(user)
    @user = user
    mail(to: "employee@mycompany.com", subject: "website enquiry", from: "#{@user.name} <#{@user.email}>")
  end

  def no_reply(user)
    @user = user
    mail(to: @user.email, from: "My Company <mycompany.noreply@gmail.com>", subject: "Message received at mycompany.com")
  end
end

テスト

from フィールドのテストに合格します。

require "spec_helper"

describe Notifications do

  let(:contact_form) { FactoryGirl.build(:contact_form) }

  context "enquiry" do

    let(:mail) { Notifications.enquiry(contact_form) }

    it "renders the headers" do
      mail.from.should eq([contact_form.email])
    end
  end
end

また、mailcatcher を使用しています。

Mailcatcher はuser.email、from フィールドにも正しいものを表示します。

間違ったアドレスが表示されるのは、(gmail を使用して)実際の電子メールを受信したときだけのようです。

どんな助けでも感謝します。

編集

デフォルトのメール設定:

 # mail config settings
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = { 
    :address              => "smtp.gmail.com",
    :port                 => 587,
    :user_name            => 'mycompany.noreply@gmail.com',
    :password             => 'password',
    :authentication       => 'plain',
    :enable_starttls_auto => true  }

メールキャッチャーからのメールヘッダー

Date: Sat, 13 Oct 2012 21:08:02 +0100
From: Joe Bloggs <joebloggs@gmail.com>
To: mycomany.noreply@gamil.com
Message-ID: <5079ca229969b_67c23fc061434ed023056@Mark-Charless-iMac-2.local.mail>
Subject: website enquiry
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_5079ca226fb17_67c23fc061434ed02277b";
 charset=UTF-8
Content-Transfer-Encoding: 7bit



----==_mimepart_5079ca226fb17_67c23fc061434ed02277b
Date: Sat, 13 Oct 2012 21:08:02 +0100
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <5079ca227ec80_67c23fc061434ed02288a@Mark-Charless-iMac-2.local.mail>
4

2 に答える 2

2

問題は、Gmail SMTP サーバーを使用していることです。

この質問に従って: Rails and Gmail SMTP, how to use a custom from address , そのアカウントがGmailアカウントにリンクされていない限り、カスタムFromアドレスを設定することはできません.

代替案:

  1. 独自の差出人アドレスを設定できる別の SMTP サーバーを使用します。
  2. フォームに入力したユーザーの電子メール アドレスへのリンクである大きなボタンを備えた、employee@mycompany.com に送信される素敵な HTML ベースの電子メールを作成mailtoし、自動化された電子メールに返信しないようにします。ただし、メール内でこのボタンを使用してください。
于 2012-10-13T20:31:50.823 に答える