簡體   English   中英

從本地主機發送電子郵件

[英]send email from localhost

我正在嘗試了解Rails中的電子郵件。 我正在本地主機上開發一些東西。 是否可以從本地主機發送電子郵件,說普通的郵件帳戶(例如gmail)? 我有安裝郵件服務器嗎? 目前,我剛剛安裝了標准的rails進行開發。

Rails 4.0的更新
現在,您需要以下代碼才能使其正常工作:

# I recommend using this line to show error
config.action_mailer.raise_delivery_errors = true

ActionMailer::Base.smtp_settings = {
  :address        => 'smtp.gmail.com',
  :domain         => 'mail.google.com',
  :port           => 587,
  :user_name      => 'foo@gmail.com',
  :password       => '******',
  :authentication => :plain,
  :enable_starttls_auto => true
}

您可以使用config / environment.rb中的類似方法將ActionMailer設置為使用Gmail的SMTP服務器:

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.server_settings = {
    :address        => 'smtp.gmail.com',
    :domain         => '<your domain>',
    :port           => 587,
    :user_name      => '<your gmail>',
    :password       => '<your password>',
    :authentication => :plain
}

編輯 :如果遇到任何困難,請將配置設置為顯示錯誤:

ActionMailer::Base.raise_delivery_errors = true

看看ActionMailer RAILS_ROOT/config/environment/ ,有一個用於不同環境(開發,測試,生產)的文件,這些文件中包含可配置的設置

您可以這樣指定delivery_method,

ActionMailer::Base.delivery_method = :sendmail

或者如果你想

ActionMailer::Base.delivery_method = :smtp

Mikael S發布了設置的詳細示例

高溫超導

如果我正確理解了您的情況,則希望使用自定義電子郵件地址(例如john@mycompany.com)從本地計算機發送電子郵件。 如果您已經為您的電子郵件帳戶(mycompany.com)注冊了域名,則很有可能是托管您的網站的公司也具有POP / SMTP服務器。 如果是這樣,您可以使用Mikael S的示例,並將address參數更改為托管公司的smtp地址,並使用托管公司的用戶名/密碼。

如果您尚未注冊自定義域或沒有托管服務提供商,則可以在本地計算機上安裝免費的電子郵件服務器。 如果使用WindowsXP,則可以通過添加/刪除程序-> Windows功能來添加IIS電子郵件服務器。 如果使用Linux,則可以使用存儲庫中可用的任何電子郵件服務器。 安裝本地電子郵件服務器后,將使用Mikael S的示例代碼,並在地址字段中使用127.0.0.1或localhost。 如果您使用的是WindowsXP的電子郵件服務器,我認為您不必輸入用戶名/密碼。

希望對您有幫助。

您可以從本地主機發送它,甚至可以將發件人設置為“真實”郵箱,例如you@gmail.com。

但是,某些(或說大多數)服務器將不接受此郵件作為其垃圾郵件阻止策略的一部分 (無法驗證發件人身份)。 但是,過去,我在gmail上使用過與python類似的東西。

祝你好運;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM