2

私は rails3.0.6 と ruby​​ 1.8.7 を使用しています。アプリケーション開発モードから簡単に電子メールを送信できます。しかし、昨夜、顧客の電子メールにメールを送信しようとすると、請求書モデルに関連付けられたポリモーフィックな新しいエラーが表示されました。エラーは次のとおりです。

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 => "support@thenextwave.in", :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

どんな助けでも感謝します..

4

1 に答える 1

1

私は解決策を思いつきました、私email.rbは私のメーラーのファイルに間違いを犯しました:

def send_invoice(invoice)
  email = '@invoice.account.accountable.email'
  mail(:to => email, :from => "support@thenextwave.in", :subject=>"Invoice, check it.") 
end

そのはず:

def send_invoice(invoice)
  email = invoice.account.accountable.email 
  mail(:to => email, :from => "support@thenextwave.in", :subject=>"Invoice, check it.") 
end

今、私は簡単にメールを送ることができます。

于 2012-04-17T06:54:42.633 に答える