전자 메일 주소를 수집하고 관리자로 로그인하여 모든 가입 된 사람에게 메일을 보낼 수있는 방문 페이지가있는이 응용 프로그램을 개발하려고합니다. 사용자, 나는 액션 우편물과 내 Gmail 계정 SMTP 구성을 사용하고 있습니다.수신자가없는 여러 수신자에게 메일 보내기 다른 사람에게 보내는 메일보기
내가 메일을 보내면 모든 사람이 cc'ed가되고 내 자신의 Google 메일 계정으로 테스트 할 때 다른 사람이 볼 수 있습니다.
Mailforsubcriber 컨트롤러
def create
@mailforsubscriber = Mailforsubscriber.new(mailforsubscriber_params)
respond_to do |format|
if @mailforsubscriber.save
RecipientMailer.newsletter(@mailforsubscriber).deliver_now
format.html { redirect_to @mailforsubscriber, notice: 'Mail for subscriber was successfully sent.' }
format.json { render :show, status: :created, location: @mailforsubscriber }
else
format.html { render :new }
format.json { render json: @mailforsubscriber.errors, status: :unprocessable_entity }
end
end
끝
이것은
class RecipientMailer < ApplicationMailer
require 'digest/sha2'
default from: "[email protected]"
default to: Proc.new {Subscribeduser.pluck(:email) }
default "Message-ID" => "#{Digest::SHA2.hexdigest(Time.now.to_i.to_s)}@domain.com"
def newsletter(mailforsubscriber)
@mailforsubscriber = mailforsubscriber
mail(subject: "Newsletter")
end
end
가 어떻게이 문제를 해결합니까받는 메일러 코드?
가 내가 메소드 send_mail_persons라고하고 parameter.This 논리로받는 사람의 정보를 통과 한 다음def newsletter(mailforsubscriber)
@mailforsubscriber = mailforsubscriber
mail(:to => @mailforsubscriber.email, :subject => "Newsletter")
end
이메일 주소를 직접 입력하지 않고도 많은 사람들에게 보내려고합니다. "mailforsubscriber.email"비트는 구독자의 메일에 전자 메일 주소가 있음을 의미합니다. 그렇지 않습니다. 모델에 가입 한 사용자와 가입 한 사용자 간의 메일은 본질적으로 관계가 없습니다. –
"많은 사람들에게 보내려고합니다."- 제안 된 솔루션의 숨은 참조 비트가 내 애플리케이션에 적합하지 않음을 의미합니다. 이전 의견에서 충분히 명확하지 않은 경우 –
변수에 저장된 이메일 ID 배열을 조치 메일러로 전달할 수 있습니다. 한 번의 호출로 여러 사용자에게 보내려면 다음을 사용하십시오. to => [배열 수]. 이렇게하면 모든 메일 ID가 다른 메일에도 노출됩니다. – Bijendra