Com CDO.Message é possível enviar e-mails no ASP Clássico usando um servidor SMTP autenticado, com suporte a SSL/TLS, anexos e definição de charset. Abaixo, um exemplo básico e boas práticas.
<%
' Ajuste as variáveis de acordo com seu provedor SMTP
Dim smtp, cfg, f
Set smtp = Server.CreateObject("CDO.Message")
Set cfg = Server.CreateObject("CDO.Configuration")
Set f = cfg.Fields
f.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ' cdoSendUsingPort
f.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.seudominio.com"
f.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
f.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True ' STARTTLS
f.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")= 1 ' básica
f.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "usuario"
f.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
f.Update
Set smtp.Configuration = cfg
smtp.From = "[email protected]"
smtp.To = "[email protected]"
smtp.Subject = "Teste de e-mail"
smtp.HTMLBody = "<strong>Olá</strong>, mensagem de teste em HTML."
smtp.BodyPart.Charset = "UTF-8"
On Error Resume Next
smtp.Send
If Err.Number <> 0 Then Response.Write("Erro ao enviar: " & Err.Description) Else Response.Write("OK")
On Error GoTo 0
Set f = Nothing: Set cfg = Nothing: Set smtp = Nothing
%>
Alguns provedores exigem porta 465 com SSL. Nesse caso, ajuste smtpserverport para 465 e mantenha smtpusessl = True.
<%
Dim msg: Set msg = Server.CreateObject("CDO.Message")
' ... reutilize a configuração (cfg) do exemplo anterior ...
msg.From = "[email protected]"
msg.To = "[email protected]"
msg.Subject = "Relatório com anexo"
msg.HTMLBody = "<p>Segue relatório em anexo.</p>"
msg.TextBody = "Segue relatório em anexo."
msg.AddAttachment Server.MapPath("/caminho/arquivo.pdf")
On Error Resume Next: msg.Send: If Err.Number <> 0 Then Response.Write Err.Description: On Error GoTo 0
Set msg = Nothing
%>
Valide a extensão e o tamanho do anexo. Garanta permissões de leitura no diretório e caminhos corretos via Server.MapPath.
Precisa gerar senhas, validar CPF/CNPJ ou criar QR Code? Acesse nossos Geradores e Validadores Online.