2012-11-07 12 views
5

W jaki sposób można serializować pocztę, aby można było przechowywać ją do dalszego użytku?Jak serializować i deserializować koperty?

Serializowane dane powinny zostać rozłączone i samowystarczalne, aby mogły zostać dostarczone na oddzielnym komputerze, który powinien dostarczyć tę wiadomość (nie wiedząc o bazie danych ani o czymkolwiek innym).

Odpowiedz

7

Załóżmy, że zwykle wysyłać e-maile z tym:

MyMailer.some_email(...).deliver 

Zamiast dostarczania go, można przekonwertować go na ciąg i przenieść ciąg do innego serwera:

raw_mail = MyMailer.some_email(...).to_s 

na innym serwerze, wysyłać e-mail:

Mail.new(raw_mail).deliver 
+0

Wydaje się to działać, ale nie ma metody "Mail # send". Próbowałem "Mail # dostarczyć", ale myślę, że nie wybiera ustawień SMTP mailer. –

+0

Przepraszam, to literówka. Masz rację, jeśli chodzi o dostarczanie poczty. Nie wiem, jak próbujesz wysłać e-maile z oddzielnej maszyny. Ale myślę, że musisz skopiować ustawienia SMTP na oddzielnym komputerze. – Yanhao

+0

Oddzielny komputer obsługuje tę samą aplikację Rails. Sądzę więc, że powinien to podnieść. Ale bardziej interesuje mnie metoda '# to_s' na mailerze. Czy jest udokumentowane, że tworzy pełną surową pocztę e-mail gotową do wysłania? Czy poradziłoby też na takie rzeczy jak załączniki itp.? –

Powiązane problemy