
Como muitas pessoas que atualizaram para o Rails 2.2, recebi uma exceção ao enviar um email. Esta versão do Rails ou posterior requer o uso de tls para envio de e-mails. A mensagem no arquivo de log de produção diz:
hostname was not match with the server certificate
Pesquisei muito e trabalhei nisso e fiz tudo o que pude. Mudei o nome do host do meu slice para ohlalaweb.com. Se eu executar o comando 'hostname' no CL, recebo:
ohlalaweb.com
O Postfix parece funcionar bem. Posso enviar e-mails do CL para minhas contas do Gmail, Yahoo e Google Apps sem problemas. Aqui está o resultado de cat /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
myorigin = /etc/mailname
smmtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ohlalaweb.pem
smtpd_tls_key_file=/etc/ssl/certs/ohlalaweb.pem
smtpd_use_tls=yes
# SA created next line to force postfix to use self create certificate
smtpd_tls_auth_only=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = ohlalaweb.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
Regenerei as chaves SSL com o nome de host ohlalaweb.com.
Alguma idéia ou sugestão?
Responder1
ohlalaweb.com é um nome de domínio, não um nome de host, pelo menos não deveria ser. Um nome de host seria algo como ‘mail’ em ‘mail.ohlalaweb.com’. A validação do certificado está falhando porque o nome do servidor não corresponde ao que está no campo CommonName do certificado.
A solução mais fácil é alterar o nome do seu servidor para corresponder à entrada no campo CommonName do certificado.