Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   mail desde app (https://www.clubdelphi.com/foros/showthread.php?t=93452)

Ricardo2010 03-10-2018 16:02:55

mail desde app
 
Estimado se que es un tema ya revisado pero no he podido solucionar
Tengo una app que debe enviar mail y la cuenta que utilizo no tiene credencial (password) solo me entregan el servidor smtp y el user , me conecto a al servicio pero cuando realizo el send la aplicación se queda detenida, no responde lo que realizo es lo siguiente
Código Delphi [-]
    SMTP := TIdSMTP.Create( nil );
    Mensaje_Mail := TIdMessage.Create( nil );
    Mensaje_Mail.Clear;
    Mensaje_Mail.From.Address := 'xxxx@misitio.com';
    Mensaje_Mail.Recipients.Add.Text:='cuentadestino@misitio.com';
    Mensaje_Mail.Subject := 'Conexion a base datos';
    Mensaje_Mail.Body.Text := 'Se conecto con éxito a base datos';
with SMTP do
   begin
     AuthType:=satNone;
     Username := 'APPS_CECLCES@app.misitio.com';
     Host := 'smtpapp.misitio.com';
     Port := 587;         
   end;
SMTP.Connect;
      SMTP.Send( Mensaje_Mail );

Como no tiene password es un parámetro que no completo , efectúe pruebas con otra cuenta que tiene password pero tampoco funciona y no estoy seguro si el puerto de salida es el corresponde ya que windows ocupó el 25 y si la app debe tener algun permiso especial para poder enviar mail

Su ayuda por favor ya que solo encuentro donde se trabaja con SSL y gmail lo cual tampoco he logrado que me envie mail

Casimiro Notevi 03-10-2018 17:04:53

¿Hablas de windows o android?

orodriguezca 03-10-2018 20:01:28

Suponiendo que es en Windows, lo primero es verificar que realmente puedas llegar hasta el servidor SMTP: En linea de comando del sistema operativo ejecuta: "TELNET smtpapp.misitio.com 25" o "TELNET smtpapp.misitio.com 587" ; deberias recibir un código de aceptación 220, lo cual indica que el servidor SMTP está listo para inicial la negociación de envio de correo. Cualquier otro mensaje o no mensaje en lo absoluto indica que no estás llegando al servidor.

Ricardo2010 04-10-2018 01:49:18

Gracias a ambos es desde mi app android que estoy mandando, ahora ya logre mandar pero solo a los correos de misitio.com pero por ejemplo si intento mandar a una cuenta de gmail u otro dominio que no sea misitio.com la aplicacion no manda nada pero como digo si mando a cualquier cuenta con extensión misitio.com los envia.

Me podrìan orientar para ver porque no puedo mandar a otros dominios

gracias

kurono 04-10-2018 02:12:34

yo envio email a gmail usando este codigo pruebalo haber si es lo que necesitas

Código Delphi [-]
uses
  Androidapi.JNI.GraphicsContentViewText,
  Androidapi.JNIBridge,
  Androidapi.JNI.JavaTypes,
  FMX.Helpers.Android,
  Androidapi.JNI.Net,
  Androidapi.JNI.Os,    
  Androidapi.IOUtils;

Procedure SendEmail(Const eAddress, eObject, eText, eAttach : String);

var
  Intent : JIntent;
  D, S   : JString;
  Uri    : TJnet_Uri;
Begin
  Intent := TJIntent.Create;

  Intent.setAction(TJIntent.JavaClass.ACTION_Send);
  Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, StringToJString(eAddress));
  Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(eObject));
  intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(eText));
  Uri:=TJnet_Uri.JavaClass.parse(StringToJString(FileName));
  Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, Uri);
  Intent.setType(StringToJString('vnd.android.cursor.dir/email'));
  SharedActivity.startActivity(Intent);
End;

Ricardo2010 04-10-2018 02:57:04

Gracias pero lo que realiza es abrir el gmail pasando los datos como parámetros para desde ahí enviar el mail posterior de ingresar el destinatario y lo que estoy tratando es enviar directo desde mi app el mail lo cual funciona sin problemas cuando el destinatario es de mi dominio es decir misitio.com pero si es cualquier otro dominio la aplicaciòn no lo manda y tampoco me indica ningun error simplemente queda detenida la aplicaciòn.

Ricardo2010 04-10-2018 15:33:03

gracias encontre el problema solo era cambiar a
Código Delphi [-]
AuthType:=satDefault;
y ahora envio sin problemas a todos las cuentas que quiero


La franja horaria es GMT +2. Ahora son las 02:41:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi