Assumo aqui que você ainda não possui um certificado assinado para seu domínio, caso contrário, sua pergunta seria inútil.
Se você deseja que um certificado seja assinado por uma CA, você precisa ir a uma autoridade de certificação e dar a ela sua CSR e obter um certificado. Qual CA você escolheu é irrelevante, contanto que os dispositivos do seu cliente confiem nela.
Para gerar o CSR, você pode usar o openssl:
openssl req -new -newkey rsa:4096 -nodes -out company-name.com.csr -keyout company-name.com.key
Você precisa responder algumas perguntas, mas, exceto pelo nome comum, elas são irrelevantes.
Veja também, por exemplo, Como você compra um certificado SSL? e muitas outras perguntas aqui.
EDITAR:
smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key
Essas linhas definem qual certificado e arquivo de chaves usar para sessões TLS. Se você quiser que os clientes possam verificar a validade, será necessário fornecer à cadeia de certificados smtpd_tls_CAfile .
smtpd_use_tls=yes
smtp_tls_note_starttls_offer=yes
Isso permite criptografia oportunista. Ou seja Quando um cliente SMTP se conecta, entregando um e-mail ao seu servidor / ele envia um e-mail para outro servidor SMTP, ele informa que o STARTTLS está disponível.
smtp_tls_loglevel=5
Útil para depuração. Note que os documentos não recomendam nada superior a 2 e 5 não está definido de todo. 1
é razoável.
smtpd_tls_security_level=may
Permite a criptografia oportunista, mas não exige isso. Você pode querer defini-lo como encrypt
para envio.
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
Necessário para tickets de sessão e recomendado.
Você quer dar uma olhada no Endurecimento de Criptografia aplicado do BetterCrypto.org, que contém um guia exemplo completo para o Postfix.