Проблемы с сообщениями электронной почты начинаются с "-" (тире)
У нас есть приложение Ruby On Rails с подпиской на некоторые электронные письма. Он имеет класс почтовой программы, унаследованный от ActionMailer:
class UserMailer < ActionMailer::Base
...
end
Все в порядке, кроме одного - у некоторых пользователей есть адреса электронной почты с "-" при запуске.
При попытке отправить электронную почту на адрес "[email protected]" возникают ошибки:
sendmail: invalid option -- u
sendmail: invalid option -- s
sendmail: invalid option -- u
sendmail: fatal: usage: sendmail [options]
Как я могу избежать этого символа (а может быть, и другого) для ActionMailer?
Спасибо
Ответы
Ответ 1
Метод URI.escape, хотя и устаревший, принимает второй параметр, который позволяет вам отметить, что такое небезопасное
URI.escape("[email protected]", '-')
=> "%[email protected]"
CGI escape, который заменяет URI.escape, похоже, не имеет одинаковой функциональности, но для одного такого случая он может работать.