2
我正在使用rails3.0.6和ruby 1.8.7,我可以很容易地從我的應用程序開發模式發送電子郵件。但昨晚我看到一個新的錯誤,當我試圖發送郵件給我的客戶的電子郵件是多態與我的發票模型相關聯。錯誤是:Net :: SMTPSyntaxError
Net::SMTPSyntaxError in InvoicesController#email_invoice
501 <@invoice.account.accountable.email>: missing or malformed local part
我對email.rb文件中的代碼是:
def send_invoice(invoice)
email = '@invoice.account.accountable.email'
mail(:to => email, :from => "[email protected]", :subject=>"Invoice, check it.")
end
,並在我的invoice controller
我所做的:
def email_invoice
@company = Company.find(User.find(session[:current_user_id]))
@invoice = Invoice.find(params[:id])
@invoice_line_items = @invoice.invoice_line_items
@receipt_vouchers = @invoice.receipt_vouchers
#email = @invoice.account.accountable.email
Email.send_invoice(@invoice).deliver
redirect_to invoice_path(@invoice)
flash[:success] = 'Email has been sent successfully.'
end
我瞪大眼睛了這個錯誤,並發現它導致由於錯誤的電子郵件地址或錯誤的SMTP設置,但我的SMTP設置是好的,因爲我可以從我的應用程序發送電子郵件,但有問題的下線:
@invoice.account.accountable.email
任何幫助將是thaknful ..
我把字符串郵件文件中未接受的電子郵件地址,現在我已更新我的代碼 – Ravindra 2012-04-17 07:10:17
'@ invoice.account.accountable.email'是一個字符串文字。 「#{@invoice.account.accountable.email}」可以工作,但使用插值沒有意義。 – 2013-04-02 06:13:48