Rails Mailer Ubuntu - PullRequest
       20

Rails Mailer Ubuntu

4 голосов
/ 14 декабря 2011

В моем приложении rails (работающем на Mac) я использую гем под названием pony.Когда я создаю сообщение через pony, я получаю следующий вывод (из консоли rails):

#<Mail::Message:2186559360, Multipart: false, Headers: <Date: Tue, 13 Dec 2011 00:15:14 -0500>, <From: you@me.com>, <To: myself@hotmail.com>, <Message-ID: <4ee6df6288e90_30b080443b3c8148e@My-Name-MacBook-Pro.local.mail>>, <Subject: nothing>, <Mime-Version: 1.0>, <Content-Type: text/plain>, <Content-Transfer-Encoding: 7bit>>

Это сообщение отправляется без проблем.

Для отдельного приложения, работающего в Ubuntu,Пони выдает мне ошибки.

Я не опубликовал ошибки, потому что я переключился на гем под названием mail, который выдает тот же результат после отправки сообщения (ошибок нет, консоль говорит, что отправлено нормально).Но проблема в том, что в системе Ubuntu не отправляются никакие сообщения.

Я подозреваю, что это потому, что я никогда не настраивал почтовую систему в системе Ubuntu (если это действие, которое когда-либо нужно делать в мире программирования).Если это так, я не уверен, как мне это сделать, чтобы моя почта отправлялась.

Я использую рельсы 3 и Ubuntu Oneiric Ocelot.

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Зайдите в центр программного обеспечения Ubuntu.Ищите

mail agent

(что вам нужно, это агент пересылки почты)

теперь там должно быть что-то, называемое 'mutt'.Установите это.(у меня сработало, когда у меня возникла эта проблема)

1 голос
/ 14 декабря 2011

Вместо того, чтобы полагаться на работающую локальную sendmail в операционной системе (что делает OS X, но я полагаю, что в Ubuntu этого нет), вы можете использовать внешний SMTP-сервер.

Для тестирования и разработки ваш Gmail будет работать:

Pony.mail(:to => 'you@example.com', :via => :smtp, :via_options => {
  :address              => 'smtp.gmail.com',
  :port                 => '587',
  :enable_starttls_auto => true,
  :user_name            => 'user',
  :password             => 'password',
  :authentication       => :plain, # :plain, :login, :cram_md5, no auth by default
  :domain               => "localhost.localdomain" # the HELO domain provided by the client to the server
})

Если вы отправляете электронные письма из производственного приложения, вы можете использовать недорогой внешний SMTP-сервер из http://sendgrid.com/.

...