[Ruby on Rails5] WorkMail을 사용하여 고유 도메인 이름의 메일 주소를 설정합니다.【WorkMail】

컨디션


Ruby 2.5.7
Rails 5.2.4

gem


gem 'dotenv-rails'

전제 조건


Qita- 간편한 설치 컨설팅 기능
이것은 이곳의 보도를 참고하여 개작한 절차다.
미리 Gmail 계정에서 실크와 동작을 확인한 뒤 이번에 소개한 방법을 실천하면 좋겠다고 생각했습니다.
독립된 도메인 이름을 가져왔습니다.
AWS가 등록되었습니다.

날과 씨


독립된 도메인을 취득한 만큼 어떻게든 자신의 도메인에서 얻은 메일로 문의가 보낸 메시지를 받고 싶어 이번에 이뤄졌다.
하지만 인터넷을 찾아보니 모두 Gmail을 예로 든 실조 방법이었기 때문에 이번에는 이 방법을 응용하고 싶습니다.

절차.


1. 독립된 도메인 이름 가져오기
2. AWS WorkMail에서 받은 독립된 도메인 이름을 사용하여 메일 주소를 가져옵니다.
3. WorkMail의 SMTP 설정을 반영한다(메일 서버를 받는 IMAP/POP는 이번에 언급하지 않는다).
목표는 사이트 내 연락처 형식으로 보내온 상담 내용을 독립역에서 얻은 메일 주소로 보내는 것이다.

1. 독립된 도메인 이름 가져오기


사용Google Domains하여 획득.
귀하의 사이트 URL에 반영하는 방법 등은 주제와 일치하지 않으므로 사용하지 마십시오.

2. AWS WorkMail에서 받은 독립된 도메인 이름을 사용하여 메일 주소를 가져옵니다.


AWS의WorkMail 서비스를 사용하면 독립역hogehoge.com[email protected]의 메일 주소로 사용됩니다.
WorkMail 설정은 다음 웹 사이트를 참조하십시오.
MISO-Amazon WorkMail을 사용하여 독자적인 도메인 이름의 메일 서비스 구축
절차대로 진행되며 송수신이 제대로 확인되면 OK.

3. WorkMail에 대한 SMTP 설정(SMTP 설정) 반영


이번에는 Rails 애플리케이션에서 WorkMail로 보내는 것일 뿐 수신 서버로서의 IMAP와 POP 설정은 하지 않는다.
먼저 WorkMail에 대한 설정여기.을 확인합니다.
링크된 페이지에는 IMAP와 SMTP에 대한 두 가지 설정 정보가 기재되어 있으며, 이번에는 아래 세그먼트의 SMTPS에 대한 설정 정보를 참조합니다.

다음은 코드입니다.
WorkMail을 전제로 Gmail 계정의 참고 사이트를 소개했다.
우선 발송 목적지를 변경한다.
app/mailers/contact_mailer.rb

class ContactMailer < ApplicationMailer

  ...

  def contact_mail(contact)
    @contact = contact
    mail to: "独自ドメインで取得したメールアドレス", subject: "メールのタイトル"
  end

  ...

end

mail to:곳을 Gmail 주소에서 개별 도메인 이름으로 받은 메일 주소로 변경합니다.
Gmail의 참고 사이트에서 환경이 변수화되었지만 주소 공개도 문제없다고 생각해서 잘 썼습니다.
불안한 사람은 계속해.env 파일에서 변경하십시오.
다음은 메일 설정입니다.
config/initializers/mail_config.rb

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
  address: 'smtp.mail.us-west-2.awsapps.com',
  domain: '独自ドメイン名',
  port: 465,
  user_name: ENV['WORKMAIL_USERNAME'],
  password: ENV['WORKMAIL_PASSWORD'],
  ssl: true
}

WorkMail의 프로토콜에는 SMTPS라고 쓰여 있으며 delivery_method 유지:smtp하면 됩니다.
address는 자신이 WorkMail을 구축한 영역에 따라 달라집니다.
나는 위에서 말한 바와 같이 미국 서부 (오레곤 주) 지역을 선택했다.
또 워크메일을 구축할 수 있는 지역은 아시아태평양(도쿄)이 포함되지 않는 한계가 있다.
대응 표米国東部(バージニア北部) → smtp.mail.us-east-1.awsapps.com米国西部(オレゴン) → smtp.mail.us-west-2.awsapps.com欧州(アイルランド) → smtp.mail.eu-west-1.awsapps.com
domain은 독립된 도메인 이름 (example.com) 을 직접 기록합니다.
port 번호 지정 465.
user_name,password는 원본 코드로 공개하고 싶지 않은 정보이기 때문이다.env 파일을 사용합니다.(나중에 설명합니다.)
authhentication에 인증되지 않은 것은 특별히 명시하지 않아도 동작하기 때문에 삭제됩니다.
WorkMail의 安全な接続 항목에 SSL은 반드시 ssl: true라고 쓰여 있습니다.
또한 (STARTTLSはサポートされていません)라고 쓰여 있어 자동 검출이 필요 없어 삭제enable_starttls_auto: true했다.
다음은 상술한 환경 변수의 것이다.엔비 파일 좀 보고 올게요.

  ...

  WORKMAIL_USERNAME = 独自ドメインで取得したメールアドレス
  WORKMAIL_PASSWORD = AWSにログインするためのパスワード

  ...

이러한 설정을 환경 변수로 설정하면 로그인 정보는 웹 사이트나 GiitHub에 공개되지 않습니다.
게다가 기릿허브에 없는 파일이라 본격적인 촬영 환경에서.env 파일에도 자신과 같은 기술이 필요합니다.
공식 환경에서env에 쓰는 것을 잊어버리면 이 메일 설정의 환경 변수를 식별할 수 없기 때문에 실행할 수 없습니다.

총결산


실제 사용된 소스 코드는 내 GiitHub에 공개됩니다.
또한 Gmail 계정을 사용할 때부터 참고 사이트와 다른 점이 있을 수 있으니 m()도 확인해 주시기 바랍니다.m
질문과 해석이 다르고 기술 방법이 조화롭지 못하다면 평론 등에서 지적해 주십시오.
내 트위터 매일 이런 기교, 소감, 고찰을 발표하는데 관심이 있으면 한번 가보세요(카페')
끝까지 읽어주셔서 감사합니다.

사이트 축소판 그림


더욱 실용적인 사용 방법에 관하여, 저의 GiitHub가 실제 사용하는 파일을 공개하였으니, 당신도 참고하시기 바랍니다!
GitHub - MasaoSasaki/matchi
기타
Qita- 간편한 설치 컨설팅 기능
MISO-Amazon WorkMail을 사용하여 독자적인 도메인 이름의 메일 서비스 구축
AWS - Setting up IMAP for Amazon WorkMail

좋은 웹페이지 즐겨찾기