我需要通过 Cloudmailin 的 POST 请求接收作为多部分表单数据传入的电子邮件。 POST 类似于以下内容:
Parameters: {"to"=>"<[email protected] /cdn-cgi/l/email-protection>", "from"=>"whomever@example", "subject"=>"my awesome subject line....
实际上,接收和解析电子邮件非常简单,因为电子邮件只是作为参数发布:params[:to]、params[:from] 等。但是,如何在 Rails 中模拟这个 POST 请求?
我构建了一个虚拟的 Rails 应用程序来测试 Cloudmailin,所以我有一个实际的请求。然而,它是一个 6k 字符的文件,所以我想加载这个文件作为 POST 请求的参数。我尝试使用内置的 Rails post 和 post_via_redirect 方法来加载文件,但它转义了所有参数(“to”),这不好。有任何想法吗?
所以,我最终做了:
@parameters = { "x_to_header"=>"<#{ @detail.info }>",
"to"=>"<#{ @account.slug }@cloudmailin.net>",
"from"=>"#{ @member.email }",
"subject"=>"meeting on Monday",
"plain"=>"here is my message\nand this is a new line\n\n\nand two new lines\n\n\n\nand a third new line"
}
然后就:
post "/where_ever", @parameters
似乎暂时完成了工作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)