电子邮件的麻烦以“ - ”开头(短划线)

时间:2012-11-22 15:24:04

标签: ruby-on-rails actionmailer

我们有一些Ruby On Rails应用程序,其中包含一些电子邮件订阅。它有从ActionMailer继承的邮件程序类:

class UserMailer < ActionMailer::Base
...
end

一切正常,除了一件事 - 一些用户在开始时使用“ - ”的电子邮件地址。 当我尝试向“-user@mailinator.com”发送电子邮件时出现错误:

sendmail: invalid option -- u
sendmail: invalid option -- s
sendmail: invalid option -- u
sendmail: fatal: usage: sendmail [options]

我怎么能逃避ActionMailer的这个角色(也许是类似的)?

由于

1 个答案:

答案 0 :(得分:0)

URI.escape方法虽然已弃用但确实采用了第二个参数,可以让您标记出不安全的内容

URI.escape("-user@mailinator.com", '-')
=> "%2Duser@mailinator.com"

替换URI.escape的CGI转义似乎没有相同的功能,但对于像这样的单个案例它可能有效。