每天一剂Rails良药之Sending Email With Attachments

本文介绍了一个使用Ruby on Rails实现的示例,展示了如何通过Rails应用发送带有附件的电子邮件。具体步骤包括创建控制器SpamController来处理请求,定义Spammer邮件模型以发送邮件,并设置视图以供用户输入收件人姓名、邮箱地址及上传文件。
今天来看看使用Rails发送带附件的邮件
[b]Controller[/b]
app/controllers/spam_controller.rb:
[code]
class SpamController < ApplicationController
def spam
Spammer.deliver_spam_with_attachment(params[:name],
params[:email],
params[:file])
redirect_to :action => "index"
end
end
[/code]

[b]Mailer[/b]
app/models/spammer.rb
[code]
class Spammer < ActionMailer::Base
def spam_with_attachment(name, email, file)
@subject = 'Have a Can of Spam!'
@body = {:name => name}
@recipients = email
@from = 'spam@chadfowlercom'
unless file.blank?
attachment :body => file.read, :filename => file.original_filename
end
end
end
[/code]

[b]Views[/b]
app/views/spam/index.rhtml
[code]
<%= form_tag({:action => "spam"}, :multipart => true) %>
<label for="name">Name of recipient:</label>
<%= text_field_tag "name" %><br/>
<label for="email">Email address to send to:</label>
<%= text_field_tag "email" %><br/>
<label for="file">File to upload:</label>
<%= text_field_tag "file" %><br/>
<%= submit_tag "Spam!" %>
<% end_form_tag %>
[/code]

app/views/spammer/spam_with_attachment.rhtml
[code]
Hey <%= @name %>,
I thought you'd appreciate this file.

Regards,
Chad
[/code]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值