답변:
문제는 도메인에 SPF 레코드를 설정했지만 도메인과 관련된 DKIM 레코드가 없다는 것입니다. Google Apps에 DKIM 레코드를 추가하려면 다음을 수행해야합니다.
그런 다음 TXT 레코드를 두 부분으로 볼 수 있습니다. 한 부분에는 도메인이 있고 다른 부분에는 실제 TXT 레코드가 있습니다. 도메인의 서버에서 DNS 설정으로 이동하여이 레코드를 추가해야합니다. DNS 제어판에서 도메인을 추가 할 수없는 google._domainkey
경우 도메인을 정규화 된 도메인으로 만드십시오 google._domainkey.example.com
.
이렇게 한 후 DNS 레코드를 전파 할 시간을 조금 준 다음 Google Apps 관리자 패널에서 "인증 시작"을 클릭하십시오. 녹색 확인 표시가 보이면 완료된 것이므로 전자 메일이 SMTP 서버를 통해 다시 시작됩니다.
보내야 할 각 이메일에 대해 인증하지 않아야합니다.
프로세스 시작시 :
Session session = loadSession();
Transport transport = session.getTransport("smtp");
transport.connect("example@gmail.com", "password");
그런 다음 전송 세션을 사용하여 세션을 시작하지 않고 각 메일을 보내십시오.
transport.sendMessage(message, message.getAllRecipients());
모든 이메일을 보낸 후 연결을 닫아야합니다.
transport.close();
@ victorpacheco3107의 솔루션이 나를 위해 일했습니다. 이것은 루비에서 한 것입니다.
settings = {
address: "smtp.gmail.com",
port: 587,
domain: "mydomain.com",
user_name: "user@mydomain.com",
password: "password",
authentication: "plain"
}
smtp_conn = Net::SMTP.new(settings[:address], settings[:port])
smtp_conn.enable_starttls_auto
smtp_conn = smtp_conn.start(settings[:domain],
settings[:user_name],
settings[:password],
settings[:authentication])
Mail.defaults do
delivery_method :smtp_connection, { :connection => smtp_conn }
end
# send mails..
mail = Mail.new
mail.to('...')
# more mail stuff..
mail.deliver!
# after all mails are sent, end session
smtp_conn.finish
대량 이메일을 보낼 때 SMTP를 사용하면 모든 단일 메일로 로그인 한 다음 로그 아웃합니다. 그 때문에 Google은 연결을 차단합니다. 나를 위해 일한 것은 SMTPKeepAlive를 true로 설정하는 것입니다.