我们有一些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的这个角色(也许是类似的)?
由于
答案 0 :(得分:0)
URI.escape方法虽然已弃用但确实采用了第二个参数,可以让您标记出不安全的内容
URI.escape("-user@mailinator.com", '-')
=> "%2Duser@mailinator.com"
替换URI.escape的CGI转义似乎没有相同的功能,但对于像这样的单个案例它可能有效。