다음과 같은 기능을 만들려고합니다. [email protected]과 같은 이메일을 등록하고 받으십시오.이 이메일에 무엇인가를 보내면 자동으로 벽과 같은 모양으로 나타납니다. .. 그래서 내 문제는 전자 메일의 생성과 전자 메일 자체의 수신을 실현하는 방법입니다. 아이디어가 있으십니까?Rails에서 메일을 가지고 놀기
답변
Ruby는 이메일 계정에 로그인 할 때 사용할 수있는 Net/IMAP 및 Net/POP3을 제공합니다. Here's a small tutorial.
POP3
pop = Net::POP3.new("pop.gmail.com", port)
pop.enable_ssl
pop.start('YourAccount', 'YourPassword')
if pop.mails.empty?
puts 'No mail.'
else
i = 0
pop.each_mail do |m|
File.open("inbox/#{i}", 'w') do |f|
f.write m.pop
end
m.delete
i += 1
end
puts "#{pop.mails.size} mails popped."
end
pop.finish
IMAP
imap = Net::IMAP.new('imap.gmail.com')
imap.authenticate('LOGIN', 'username', 'password')
imap.select('INBOX')
imap.search(['ALL']).each do |message_id|
msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
MailReader.receive(msg)
imap.store(message_id, "+FLAGS", [:Deleted])
end
imap.expunge()
발신 전자 메일은 파이처럼 간단합니다. ActionMailer Basics을 살펴보십시오. 이메일을 받기를 원한다면 메일 서버의 메일을 에 지속적으로 가져 오는 데몬을 작성해야합니다. 여기
POP을 통해 메일을 가져 오는 코드 조각 :
require 'net/pop'
config = {
:host => "mail.example.com",
:user => "[email protected]",
:password => "…",
:port => 110,
:timeout => 10
}
pop = Net::POP3.new(config[:host])
pop.start(config[:user], config[:password])
if pop.mails.empty?
puts "No mails…"
else
pop.mails.each do |mail|
# do stuff with mail
end
end
이 순수 루비 코드 레일이 조각 필요하지 않습니다이다.
이 다른 옵션이 될 수 있지만 우리가 그것을 할 방법은 다음과 같습니다
- 후위
- 레일 크론 작업을 후위 당신은 MySQL의 테이블/뷰를 지정할 수 있습니다
이메일 여부를 확인하려면 주소가 존재하는지 여부. 메일 전달을 정의 할 수도 있습니다.
- 는 후위
- 에있는 모든 이메일 주소를 포함하고
mailparser
같은 다른 메일 계정으로 전달해야이보기를 요구 사항을 충족하기 위해 DB보기를 만듭니다.
- 에있는 모든 이메일 주소를 포함하고
- 이제 레일 중 하나
- 는 메일 서버에 POP3/IMAP 프론트 엔드를 사용할 수있는 메일을 가져 그들에게
- 를 처리하거나상의 위치로 이동 (당신은 Dovecot과 또는 택배를 설치해야합니다) 모든 메일이있는 디스크 (Postfix config를 확인하십시오)와 파일들을 TMail 객체로 파싱하고 처리하십시오.
다른 옵션은 메일 데이터와 후위 전화 script/runner
을 만드는 것입니다,하지만 부팅이 긴 메모리를 많이 걸릴 수 있습니다 레일, 그래서 나는이 일을 cronjob에/Backgroundjob/노동자를 가진 선호 .
P. 보기가 기본으로 사용하는 Rails 응용 프로그램 용 모델을 작성하여 전자 메일 작성을 완료합니다.
예를 들어 도메인이 app.com이고 레일이있는 standart 호스팅 등이 있습니다. 내 호스팅에서 메일 서버를 제공합니다. 나는 와일드 카드와 같은 것을 이메일로받는 것만으로 ...이 경우 postfix와 다른 것을 설치해야합니까? 날 이해 해주길 바래! –
이메일을 보내고 [email protected]과 같은 메일 계정을 만들려면 이메일을 보내지 말고 ... –
내 메일 계정을 만드는 중 ... –
- 1. 놀기 POST in Play
- 2. Rails에서 많은 메일을 보내고 있습니다. 요즘 사람들은 무엇을 사용하고 있습니까?
- 3. Ruby on Rails에서 수신 확인 메일을 보내는 방법은 무엇입니까?
- 4. 오이 & 하위 도메인 Fu가 함께 놀기 위해서
- 5. WordPress로 멋지게 놀기 위해 IIS6을 얻으십시오. 꽤 퍼머 링크들입니다.
- 6. Rails에서 리디렉션 URL 수정
- 7. find_or_create가 Rails에서 작동하지 않습니다.
- 8. PEAR 메일을 사용하여 html 메일을 보내는 방법
- 9. PHP가 메일을 보내면 메일을 보낸 후 '정지'합니다.
- 10. Ruby on Rails에서 TMail을 사용하여 메일을 가져 오는 데 문제가 있습니다.
- 11. Ruby on Rails에서 양식으로 업로드 한 첨부 파일이있는 메일을 보내는 가장 좋은 방법
- 12. 메일을 SMS로 모바일에 전달
- 13. Rails에서 카운트를하는 올바른 방법은 무엇입니까?
- 14. Rails에서 다른 클래스의 컬렉션 렌더링하기
- 15. Rails에서 다형 조인 테이블?
- 16. Rails에서 관련 엔티티 저장
- 17. Rails에서 datetime으로 작업하기
- 18. CoffeeScript를 Rails에서 어떻게 사용합니까?
- 19. Rails에서 Java Spring으로 이동
- 20. 구조가 Rails에서 구조되지 않습니다
- 21. Ruby On Rails에서 검색
- 22. Rails에서 룩업 테이블 구현하기
- 23. Rails에서 이미지 태그 생성
- 24. Rails에서 언어를 어떻게 설정합니까?
- 25. Rails에서 Excel로 가져 오기
- 26. RESTful Rails에서 보관
- 27. Rails에서 창을 닫는 방법?
- 28. Rails에서 통계 테이블 사용하기
- 29. Rails에서 attr_accessible의 반대는 무엇입니까?
- 30. Rails에서 동적 범위 도우미 만들기
내 큰 문제는 그 메일 계정을 만드는 ...또는 어떤 이유로 든 일종의 와일드 카드로 수행 –