Cita:
Project gMailSend.exe raised exception class EIdSocketError with message 'Socket Error #10013. Access denied.'. Provess stopped. Use Step or Run to continue.
|
Este error me lo reporta el ejemplo de Roman adjuntado al final del mensaje, y cuyo proyecto lo denominó
gMailSend
He intentado enviarlo desde la red corporativa de mi oficina, donde existe Firewall, etc y me ha reportado ese error. He probado también fuera de la oficina con una adsl y el error persiste.
He leido que pueden ser por motivos de seguridad y por descontado al parecer cuestión de permisos, pero evidentemente soy administrador del pc donde hago las pruebas, y lo único que tengo activado es el Ad-Ware en su parte Ad-Watch, y el consecuente McAfee de antivirus.
Me marcho de días libres hasta el Martes día 20 (al campo sin ni siquiera covertura de movil, ni televisión. Las fallas son insufribles), y por no quedarme en "via muerta" os pido colaboración, aunque he visto que en el foro no viene nada por esas referencias de error que me clarifique la solución.
En fin, feliz fin de semana a todos y a ver si podemos aportar algo.
Código Delphi
[-]unit Principal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase,
IdSMTP, IdMessage, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack,
IdSSL, IdSSLOpenSSL, Buttons, ComCtrls;
type
TfrmPrincipal = class(TForm)
IdSMTP: TIdSMTP;
IdMessage: TIdMessage;
lblRemitente: TLabel;
txtRemitente: TEdit;
lblGMail: TLabel;
lblDestinatario: TLabel;
txtDestinatario: TEdit;
lblAsunto: TLabel;
txtAsunto: TEdit;
lblMensaje: TLabel;
mmoMensaje: TMemo;
btnEnviarCorreo: TSpeedButton;
IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL;
procedure btnEnviarCorreoClick(Sender: TObject);
end;
var
frmPrincipal: TfrmPrincipal;
implementation
{$R *.dfm}
procedure TfrmPrincipal.btnEnviarCorreoClick(Sender: TObject);
var
Password: String;
begin
idMessage.Clear;
idMessage.FromList.EMailAddresses := txtRemitente.Text + '@gmail.com';
idMessage.Recipients.EMailAddresses := txtDestinatario.Text;
idMessage.Subject := txtAsunto.Text;
idMessage.Body.AddStrings(mmoMensaje.Lines);
if InputQuery('gMailSend', 'Contraseña del servidor', Password) then
begin
idSMTP.Username := txtRemitente.Text;
idSMTP.Password := Password;
btnEnviarCorreo.Enabled := false;
try
if not idSMTP.Connected then
idSMTP.Connect;
idSMTP.Send(IdMessage);
finally
btnEnviarCorreo.Enabled := true;
end;
end;
end;
end.