Al final he conseguido que funcione, he utilizado la versión 0.96m de OpenSSL (también me funciona con la 0.96). Por lo visto el puerto 587 necesita STARTTLS . El código sería algo así:
Código Delphi
[-]
idSMTP->Host = fmVisual->host_smtp;
idSMTP->Username = fmVisual->username_smtp;
idSMTP->Password = fmVisual->password_smtp;
idSMTP->Port = fmVisual->smtp_puerto;
idSMTP->IOHandler = NULL;
if (fmVisual->smtp_SSL != "Ninguno")
if (fmVisual->smtp_modo_SSL == "sslmUnassigned") else else else else
}
}
}
if (fmVisual->smtp_SSL == "STARTTLS")
if (!idSMTP->Authenticate())
} else
} else else else else
}
}
}
try
idSMTP->Send(mensaje);
idSMTP->Disconnect();
MessageDlg("Envío realizado.", mtInformation, TMsgDlgButtons() << mbOK, 0);
} catch (Exception &error)