루비 스크립트와 함께 이메일 보내기 -501 5.5.4 유효하지 않은 주소

StackOverflow https://stackoverflow.com/questions/1200882

  •  05-07-2019
  •  | 
  •  

문제

루비 스크립트와 함께 이메일을 보내려고하지만 개념 증명은 작동하지 않습니다. 메일 서버에 텔넷을 텔넷에 넣고 메일을 보낼 수 있지만이 스크립트는 메일 서버가 오류를 발생시킵니다. 501 5.5.4 Invalid Address

#!/usr/bin/ruby

require 'net/smtp'

def send_email(to, subject = "", body = "")
    from = "my@email.com"
    body= "From: #{from}\r\nTo: #{to}\r\nSubject: #{subject}\r\n\r\n#{body}\r\n"

    Net::SMTP.start('192.168.10.213', 25, '192.168.0.218') do |smtp|
        smtp.send_message body, from, to
    end
end

send_email "my@email.com", "test", "blah blah blah"

내 실제 대본에서 my@email.com 유효한 이메일입니다. 192.168.10.213 메일 서버입니다 192.168.0.218 내 로컬 IP입니다. Windows XP를 실행 중이며 메일 서버는 Exchange 서버입니다.

Telnet이 동일한 값으로 작동하는 이유를 이해하지 못하지만이 스크립트는 잘못된 주소 오류가 발생합니다.

누군가 나를 도울 수 있습니까?

편집하다: 위의 코드는 이제 잘 작동합니다. 원래 최종 메소드 호출에 쉼표를 제외했습니다. 나는 바보 같은 느낌이 든다.

도움이 되었습니까?

해결책 3

당신은 믿을 수 있습니까? 나는 바보 같은 느낌이 든다. 나는 방법 호출에서 쉼표가 없었다 ...

send_email "my@email.com", "test", "blah blah blah"

나는 당황.

어쨌든, 위의 코드는 누구든지 관심이 있으시면 훌륭합니다. 나처럼 쉼표를 남기지 마십시오.

다른 팁

실제 이메일 주소에 잘못된 문자가 포함되어 있지 않은지 확인하십시오. 예를 들어, 참조하십시오 이 질문.

추천합니다 액션 메일러 루비와 함께 메일을 보내는 것. 스 니펫을 참조하십시오 여기.

코드에 버그가 있습니다. 악의적 인 사용자는 주제에 Newlines를 사용하여 더 많은 헤더를 이메일에 삽입 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top