DEVISE: Net::SMTPSyntaxError: 501 Sender syntax error
DEVISE: Net::SMTPSyntaxError: 501 Sender syntax error
我在尝试使用 Devise 发送注册或密码重置电子邮件时遇到错误,Net::SMTPSyntaxError: 501 Sender syntax error
。
例子来自
'"Someone" <someone@mysite.com>'
邮寄者
class CustomDeviseMailer < Devise::Mailer
include Roadie::Rails::Automatic
layout 'email'
default from: '"My Site" <me@mysite.com>'
def confirmation_instructions(record, token, opts = {})
check_white_label record, opts
super
end
def reset_password_instructions(record, token, opts = {})
check_white_label record, opts
super
end
def unlock_instructions(record, token, opts = {})
check_white_label record, opts
super
end
def password_change(record, opts = {})
check_white_label record, opts
super
end
def check_white_label(record, opts)
if white_label = record.player&.property&.management&.white_label_name
opts[:from] = "#{white_label} <#{white_label}@mysite.com>"
opts[:reply_to] = "#{white_label} <#{white_label}@mysite.com>"
end
end
end
您需要使用正确的发件人电子邮件格式:
"Someone" <someone@mysite.com>
我能够通过删除双引号使其正常工作。
def check_white_label(record, opts)
if white_label = record.player&.property&.management&.white_label_name&.delete('"')
opts[:from] = "#{white_label} <#{white_label}@mysite.com>"
opts[:reply_to] = "#{white_label} <#{white_label}@mysite.com>"
end
输出
'Someone <someone@mysite.com>'
我在尝试使用 Devise 发送注册或密码重置电子邮件时遇到错误,Net::SMTPSyntaxError: 501 Sender syntax error
。
例子来自
'"Someone" <someone@mysite.com>'
邮寄者
class CustomDeviseMailer < Devise::Mailer
include Roadie::Rails::Automatic
layout 'email'
default from: '"My Site" <me@mysite.com>'
def confirmation_instructions(record, token, opts = {})
check_white_label record, opts
super
end
def reset_password_instructions(record, token, opts = {})
check_white_label record, opts
super
end
def unlock_instructions(record, token, opts = {})
check_white_label record, opts
super
end
def password_change(record, opts = {})
check_white_label record, opts
super
end
def check_white_label(record, opts)
if white_label = record.player&.property&.management&.white_label_name
opts[:from] = "#{white_label} <#{white_label}@mysite.com>"
opts[:reply_to] = "#{white_label} <#{white_label}@mysite.com>"
end
end
end
您需要使用正确的发件人电子邮件格式:
"Someone" <someone@mysite.com>
我能够通过删除双引号使其正常工作。
def check_white_label(record, opts)
if white_label = record.player&.property&.management&.white_label_name&.delete('"')
opts[:from] = "#{white_label} <#{white_label}@mysite.com>"
opts[:reply_to] = "#{white_label} <#{white_label}@mysite.com>"
end
输出
'Someone <someone@mysite.com>'