==================== MAIL TEST ====================
강력한 테스트를 위해 http://www.mail-tester.com/에서 주소를 가져오세요.
또는 단순히 자신에게 테스트 메시지를 보내세요.
메일 테스트를 위한 이메일 주소? ('n' 입력 시 건너뜁니다) [admin@burlyqna.org]:
admin@burlyqna.org으로 메일 전송 중. . .
smtp.mailfence.com:465, 사용자 이름: philion@mailfence.com, 일반 인증(plain auth)을 사용하여 admin@burlyqna.org으로 전송 테스트 중.
SMTP 서버 연결 성공.
admin@burlyqna.org으로 전송 중. . .
메일 전송 실패.
end of file reached
==================== 메일 테스트 ====================
강력한 테스트를 위해 http://www.mail-tester.com/에서 주소를 가져오세요.
또는 자신에게 테스트 메시지를 보내면 됩니다.
메일 테스트용 이메일 주소? ('n' 입력 시 건너뜀) [admin@burlyqna.org]:
admin@burlyqna.org(으)로 메일 전송 중. . .
smtp.mailfence.com:465, 사용자 이름:philion, 일반 인증을 사용하여 admin@burlyqna.org(으)로 전송 테스트 중.
SMTP 서버 연결 성공.
admin@burlyqna.org(으)로 전송 중. . .
메일 전송 실패.
파일 끝 도달
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:237:in `rbuf_fill'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:199:in `readuntil'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:209:in `readline'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:1017:in `recv_response'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:1008:in `block in getok'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:1027:in `critical'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:1006:in `getok'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:986:in `quit'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:732:in `do_finish'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:645:in `ensure in start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-smtp-0.5.1/lib/net/smtp.rb:645:in `start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:109:in `start_smtp_session'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mail-2.8.1/lib/mail/message.rb:269:in `deliver!'
container/app.yml에 제공한 동일한 자격 증명을 사용하여 SMTP 테스트를 실행할 수 있으며, 이 자격 증명은 swaks(Swaks - Swiss Army Knife for SMTP)와 @thoka 님이 제공한 샘플 Ruby 코드(아래 참조) 모두에서 정상적으로 작동합니다.
이 방법들은 일관되게 작동합니다. 그러나 Discourse 서버를 설정할 때(관리자 사용자에게 초기 이메일을 보내지 못하는 상태) 또는 discourse-doctor 봇을 사용할 경우 이메일 전송 실패가 발생합니다:
==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [admin@burlyqna.org]:
Sending mail to admin@burlyqna.org. . .
Testing sending to admin@burlyqna.org using smtp.mailfence.com:465, username:xxx@mailfence.com with plain auth.
SMTP server connection successful.
Sending to admin@burlyqna.org. . .
Sending mail failed.
end of file reached
표준 Ruby 도구를 사용하면 테스트 이메일을 전송할 수 있으므로, 이는 프로토콜 구성 실패로 보입니다:
require 'mail'
SMTP_SERVER = 'smtp.mailfence.com'
SMTP_PORT = 465
USERNAME = 'xyz'
PASSWORD = '...'
FROM = 'admin@burlyqna.org'
TO = 'testing@gmail.com'
SUBJECT = 'Test from Ruby'
BODY = "Hello,\n\nThis is a test email sent from Ruby over a SSL-secured connection.\n\nBest regards!"
Mail.defaults do
delivery_method :smtp, {
address: SMTP_SERVER,
port: SMTP_PORT,
user_name: USERNAME,
password: PASSWORD,
domain: "burlyqna.org",
enable_starttls_auto: :false,
authentication: :plain,
ssl: true,
}
end
begin
puts 'Sending email...'
puts "SMTP_SERVER: #{SMTP_SERVER}"
puts "SMTP_PORT: #{SMTP_PORT}"
puts "USERNAME: #{USERNAME}"
puts "PASSWORD: #{PASSWORD}"
puts "FROM: #{FROM}"
puts "TO: #{TO}"
mail = Mail.new do
to TO
from FROM
subject SUBJECT
body BODY
end
mail.deliver!
end