Ejemplo envío Email Java para módems Siemens / Cinterion
Escrito por blogElectronica en 2.DISPOSITIVOS (práctico), 4.PROGRAMACIÓN, Comunic. GSM/GPRSEsta mañana he estado un buen rato realizando pruebas de envío emails a través de comandos AT con ún módem Siemens TC65, por lo que aprovecho que lo tengo en mente para hacer un breve y rápido ejemplo java con ello, del estilo de los que hice hace un tiempo.
EJEMPLO_EMAIL (Download)
Descripción: Muestra una aplicación básica de envío de EMAIL con java para módems Siemens. Crea una conexión GPRS y envía una email a la dirección de email especificada. Tan sólo tenéis que modificar las líneas de código donde se indican el servidor SMTP, el login y password de tu cuenta de email, la dirección de email origen desde donde se envía el email y la dirección de email destino al que se envía el email.
Válido para los módems: TC65, XT65, TC65T, MTX65 y MTX65+G
Bueno, espero que os resulte de interés en alguna ocasión. Otro día más, buenas noches
Post relacionados:
- Ejemplo FTP Java para módems Siemens Hoy pongo un brevísimo post con un nuevo ejemplo Java...
- Añadir datos a ficheros con módems Siemens-Cinterion desde java En bastantes ocasiones me ha llegado la pregunta de cómo...
- Ejemplo de FTP Java para módems gprs Cinterion TC65 y XT65 Posiblemente en alguna ocasión tengas que hacer un programita en...
- Ejemplos Java para módems de Siemens A lo largo de los últimos meses he ido poniendo...
- Cómo obtener la hora con los terminales MTX y módems Siemens / Cinterion Llevo casi un mes sin escribir en blogElectronica. Y es...
Etiquetas: eclipse, ejemplos java, j2me, mtx65, tc65, xt65
Wenas BlogElectronica!
Estoy desarrollando sobre un TC65 y tengo un problema cuando esta funcionando mucho tiempo seguido. Simplemente se apaga, da un codigo de error y nada mas. Suele hacerlo cada 8 horas mas o menos, aunque a veces lo hace mucho antes de ese tiempo.
^SHUTDOWN
^EXIT 00010000,01344b49414d582c283830303230312c39303032422c35313329
^SYSSTART
Este es el codigo del error, que pasado a ascii el hex del error es: 4KIAMX,(800201,9002B,513)�.
Error de firmware tal vez?? Alguna idea o causa posible??
Estas haciendo un gran trabajo con este blog, es la referencia numero 1 sobre modems Siemens, quiero decir Cinterion jeje.
Un saludo.
Hola JoseEB:
Yo tengo 4 XT65 versión 1 y sin motivo aparente, cualquiera de ellos se puede parar tras 20 minutos a 3 horas y media funcionando sin problemas. Estás los cuatro conectados a la misma fuente de alimentación y el comportamiento parece aleatorio. Alimento los cuatro a la vez y nunca sé cuánto van a durar funcionando ni cual de ellos se parará primero.
Saludos. Richi.
Por cierto, en mi caso nunca recibo el aviso de SHUTDOWN (al menos hasta ahora)
Hola JoseEB,
no, no es posible saber la causa de un error de este tipo sin debugar la aplicación. Normalmente este tipo de errores suceden por haber agotado toda la memoria disponible. ¿Tal vez tienes un nº de threads elevado corriendo en paralelo? ¿Llamas de tanto en tanto al GC? ¿Monitorizas la memoria libre disponible? Yo de ti sacaría trazas del programa por el puerto serie para ver el punto exacto en el que se produce el error, monitorizando también la memoria libre. No hay otra manera. También llamaría de tanto en tanto al GC.
Salu2.
Buenas, gracias por una respuesta tan rapida.
Pues tengo comprobaciones de memoria libre y llamo de forma directa al gc cada vuelta del bucle principal, y siempre tengo mas de 200kb libres de ram, te pego una pequeña traza de momentos antes del problema:
Velocidad para calculos: ——>0.0
Posicion Actualizada
Horario Actualizado
Posibles alarmas generadas
Tomando datos Gps
Memoria libre: 227024/589824
Actualizando posicion, segundos para mandar14907.0
Calidad:0
Velocidad para calculos: ——>0.0
Posicion Actualizada
Horario Actualizado
Posibles alarmas generadas
Tomando datos Gps
Memoria libre: 227380/589824
Actualizando posicion, segundos para mandar15332.0
Calidad:0
Velocidad para calculos: ——>0.0
Posicion Actualizada
Horario Actualizado
Posibles alarmas generadas
Tomando datos Gps
Memoria libre: 227436/589824
Actualizando posicion, segundos para mandar15614.0
Calidad:0
Velocidad para calculos: ——>0.0
Posicion Actualizada
Horario Actualizado
Posibles alarmas generadas
Tomando datos Gps
Memoria libre: 227436/589824
Actualizando posicion, segundos para mandar15900.0
Calidad:0
Velocidad para calculos: ——>0.0
Posicion Actualizada
Horario Actualizado
Posibles alarmas generadas
Restando al escritor…
Tomando datos Gps
Memoria libre: 226860/589824
Actualizando posicion, segundos para mandar16320.0
Calidad:0
Velocidad para calculos: ——>0.0
Posicion Actualizada
Horario Actualizado
Posibles alarmas generadas
Tomando datos Gps
Memoria libre: 227436/589824
Actualizando posicion, segundos para mandar16606.0
Calidad:0
Velocidad para calculos: ——>0.0
Posicion Actualizada
^SHUTDOWN
^EXIT 00010000,01344b49414d582c283830303230312c39303032422c35313329
^SYSSTART
La memoria siempre se mantiene estable en al menos 200 kb libres, no hay bajadas abruptas de memoria libre. Tengo solo 4 hilos corriendo a la vez ademas de un timerTask, por lo que el error me tiene un poco perdido, porque no puedo imaginarme si quiera las causas. Alguna otra causa por la que pueda ser??
Hola JoseEB,
¿Qué versión de firmware estás utilizando con el XT65? ¿Has probado actualizar al nuevo firmware 2.0?
Salu2.
Hola blogElectronica,
estoy empezando a dar mis primeros pasos con el MTX65 y ya he conseguido mi primer HelloWorld (gracias a vosotros en gran parte)
Ahora estoy intentando que funcione este ejemplo pero tengo un par de dudas.
La primera, es que no sé si tengo que configurar algo del MTX o simplemente con el código y una tarjeta SIM cualquiera me vale.
Y la segunda, es que no sé qué poner en el String direccionServidorSMTP, ya que esa IP no la conozco.
Saludos y gracias de antemano
Hola Edlectrico,
pues en la direcciónServidorSMTP has de poner eso, la dirección IP del servidor smtp de correo. Si no la sabes es tan fácil como hacer un ping a la dns de tu servidor de correo. Por ejemplo, desde una consola DOS haz:
“ping servidorSmtp.miservidor.com”
y te devolverá la IP del mismo. Ponla en el código. Creo recordar que es necesario especificar, en el caso del servicio de email, la dirección IP.
Del MTX no tienes que configurar nada especial, con el código java y una tarjeta SIM cualquiera (provisionada para GPRS, es decir, cualquiera que puedas conseguir salvo que tengas bloqueado el servicio) te vale. Por supuesto, en el programa java, tienes que poner el apn, user y password adecuados para el operador de tu tarjeta SIM.
Salu2.
Hola de nuevo y gracias por la respuesta,
me has solucionado ambas dudas.
Ahora tengo otro problema, he editado las líneas de código referentes a mi cuenta de correo de gmail y la de la SIM, que es de la operadora vodafone.
El problema está en que por la salida me aparece lo siguiente:
Iniciando secuencia conexión GPRS
Evento: ^SYSSTART
Evento:
^SISW: 1, 1
Enviado: Hola de blogElectronica.com
Evento:
^SIS: 1, 0, 400, “SMTP protocol error (530): 5.7.0 Must issue a STARTTLS command first. y7sm3908022ugc.53″
Para mí que es un error de identificación (he buscado el error 530 por Google y he leído temas relacionados), pero no sé dónde puede estar el fallo en el código. He buscado también el APN que me comentabas (de vodafone) y parece estar bien… De todas formas voy a pegar aquí el trozo de código referente a estas 2 partes (mi cuenta de correo y la sim) a ver si veis algo “extraño” que pueda estar erróneo:
public void enviarEmail()
{
String direccionServidorSMTP = “66.249.93.109″;
String login = “xxxx@gmail.com”;
String password = “**********”;
String emailOrigen = “xxxx@gmail.com”;
String emailDestino = “xxxx@hotmail.com”;
System.out.println(“Iniciando secuencia conexión GPRS”);
try
{
/*Access point name: VodafoneES
APN address: ac.vodafone.es
login: vodafone
contraseña: vodafone
**/
ATC.send(“AT^SICS=1,conType,GPRS0\r”);
ATC.send(“at^sics=1,apn,ac.vodafone.es\r”);
//he probado con VodafoneES y nada…
ATC.send(“at^sics=1,user,vodafone\r”);
ATC.send(“at^sics=1,passwd,vodafone\r”);
ATC.send(“AT^SISS=1,conId,1\r”);
ATC.send(“AT^SISS=1,srvType,SMTP\r”);
ATC.send(“AT^SISS=1,alphabet,1\r”);
ATC.send(“AT^SISS=1,address,\”" + direccionServidorSMTP + “\”\r”);
ATC.send(“AT^SISS=1,user,\”" + login + “\”\r”);
ATC.send(“AT^SISS=1,passwd,\”" + password + “\”\r”);
ATC.send(“AT^SISS=1,smAuth,1\r”);
ATC.send(“AT^SISS=1,smSubj,\”Prueba Envío EMail desde MTX65\”\r”);
ATC.send(“AT^SISS=1,smFrom,\”" + emailOrigen + “\”\r”);
ATC.send(“AT^SISS=1,smRcpt,\”" + emailDestino + “\”\r”);
ATC.send(“AT^SISS=1,smCC,\”\”\r”);
Espero que me podais echar una mano.
Un saludo y muchas gracias
Ola edlectrico,
Acontece-me o mesmo, com codigo semelhante, ao tentar enviar um email para gmail.
Con seguiste resolver o problema?
Saludos,
Rec
Hola edlectrico
Tengo el mismo problema que tubistes al intentar enviar e-mail
con el ejemplo.
Me sale el error=
400, “SMTP protocol error (530): 5.7.0 Must issue a STARTTLS command first
Encontyraste la solucion?
E provado muchas cosas e canviado los parametros un monton de veces pero siempre me sale el mismo error
GRACIAS DE ANTEMANO
Hola,
Estoy desarrollando una aplicación para enviar e-mail-s a través de un módem TC65 de Siemens. Mi problema es el siguiente:
Primeramente realizo la configuración de una manera satisfactoria. A continuación Realizo el envío de datos, tal y como se ha mostrado en este ejemplo. El problema es que tras enviar el comando AT^SISW=1,0,1 , el módem me contesta ^SISW=1,0,0 y OK pero no recibo el ^SISW: 1, 2 que confirma que los datos han sido enviados correctamente y por tanto tampoco recibo el e-mail correspondiente.
No sé porque motivo los datos no se envían correctamente (teniendo en cuenta que no se produce ninguna respuesta de error y todo son respuestas OK).
Les agradecería cualquier tipo de sugerencia,
Dudoso.
Hola Dudoso,
¿Qué versión de TC65 estás usando? Te recomiendo usar la v2.0 para esa aplicación o el TC65i (que es compatible pin a pin).
Salu2
Hola de nuevo,
Gracias por la rápida respuesta. Muy eficiente.
Estoy con un terminal TC65T (no sé si esto responde a tu pregunta debido a que desconocía que existían diferentes versiones de TC65).
1) ¿El problema podría estar relacionado con la NO activación del servicio GPRS por parte de la operadora? (He supuesto que lo estaba pero, realmente no tengo la certeza de que lo esté y quizás por este motivo la configuración es correcta pero no así el envío).
2) Por otra parte, en cuanto al password (String password = “tuPassword”;//El password de tu cuenta de email), la cuenta de e-mail de origen que quiero utilizar es la que me proporcionala la operadora, es decir, num_tel@movistar.es. Estoy usando el password que me han dado al darme de alta en el correo móvil de movistar (al enviar un sms con la palabra clave al 22770). No estoy seguro si el password que estoy utilizando es el correcto.
Siento la simpleza de mis preguntas, soy un novato total…
Gracias,
Dudoso
Hola Duduso,
si utilizas un TC65T tiene (seguramente) un TC65 con la versión 2.0, no hay problema.
1) Por supuesto necesitas GPRS. Asegúrate que lo tienes.
2) Ahí no te puedo ayudar, de los emails de telefónica ni idea, tendrás que preguntarles a ellos.
Salu2
Hola blogElectronica,
Gracias por la respuesta. El problema principal residía en la no habilitación del servicio GPRS por parte de la operadora. Basta con ponerse en contacto con la operadora en cuestión. En segundo lugar era necesario crear una cuenta de correo móvil movistar. Una vez creada la operadora te proporciona la clave necesaria para la configuración de la sesión GPRS.
Ahora vengo con otra cuestión, espero puedan ayudarme:
Estoy interesado en realizar una transferencia de datos durante una llamada de voz. ¿Es posible realizarlo con el terminal TC65T?. Si lo fuera, ¿Cuáles son los comandos necesarios?.
Gracias de antemano,
Dudoso
Hola Dudoso,
eso no es posible, lo que es posible es justo al revés. Mientras estás en una transferencia de datos gprs te puede entrar una llamada de voz y puedes gestionarla. En ese momento se quedan “en suspensión” los sockets que tengas abiertos y demás, y en cuanto cuelgues la llamada de voz los datos vuelven a estar “habilitados”, es decir si hay voz y datos, la voz manda, las 2 cosas no es posible.
Salu2.
En primer lugar, agradecer al administrador de este blog el tiempo que invierte en hacernos avanzar en nuestro manejo del los módulos cinterion.
Mi pregunta es la siguiente: ¿Podemos hacer que un mismo correo se envíe a múltiples direcciones a la vez? Es decir, ¿¿podemos poner varias direcciones en el campo SmRcpt??
Un saludo
Hola,
Creo recordar que no es posible,
tendras que hacer un bucle y enviar sucesivos correos
Salu2
Pua
Es lo que estaba haciendo hasta ahora. Pero eso hace que el tamaño de los datos enviados (y su precio) se multiplique por el número de receptores del correo.
Muchas gracias por tu ayuda de todas formas.
Un saludo
Pablo.
Hola, he adquirido hace una semana un modulo MTX63, y en el intento de envío de un email, siguiendo los pasos obtengo el siguiente error:
^SIS: 1, 0, 400, “SMTP protocol error (550): must be authenticated”
Los envíos que realizo por comandos AT son los siguientes:
AT+creg?
+CREG: 0,1
OK
at^sics=0,conType,gprs0
OK
AT^SICS=0,user,vodafone
OK
AT^SICS=0,passwd,vodafone
OK
AT^SICS=0,apn,ac.vodafone.es
OK
at^siss=1,srvtype,SMTP
OK
at^siss=1,alphabet,1
OK
at^siss=1,conId,0
OK
at^siss=1,address,smtp.1and1.es
OK
at^siss=1,passwd,********
OK
at^siss=1,smAuth,1
OK
at^siss=1,user,****@******.com
OK
at^siss=1,smfrom,****@*********.com
OK
at^siss=1,smRcpt,*****@*******.com
OK
at^siss=1,smsubj,”testing”
OK
at^siso=1
OK
^SISW: 1, 1
at^sisw=1,5
^SISW: 1, 5, 0
OK
^SIS: 1, 0, 400, “SMTP protocol error (550): must be authenticated”
Esta misma rutina de comandos (con mínimas diferencias) si he conseguido que funcione con un modulo telit, con la misma tarjeta SIM y el mismo SMTP.
He visto en la página 269 de 545 en lo referente al comando smAuth del datasheet de comandos AT (MTX63 v3 AT commands FW 03-001.pdf) lo siguiente:
“If TC63 and SMTP server are not able to negotiate an authentication mechanism supported by both parties, the TC63 continues action without authentication.
TC63 supports SMTP authentication.”
Deduzco que el protocolo de autentificación de mi servidor smtp no está soportado por el modulo de siemens, ¿Podría estar en lo cierto? ¿Como podría saber cuál es ese protocolo que si soporta telit pero no siemens?, ¿alguna solución?
Un saludo
Hola,
Antes de nada, muy muy útil este blog. Una pregunta sencilla:
Estoy utilizando un módem TC65 y realizo en envío de un e-mail mediante éste. Me gustaría adjuntar un fichero a este e-mail. ¿Cuál es el código necesario en lenguaje C para realizar esta operación?
Gracias de antemano y un saludo,
Dudoso
Hola Dudoso,
no estoy seguro al 100%, pero creo que no puedes adjuntar un archivo en un email enviado por un TC65.
Salu2.
Hola de nuevo,
Gracias por la respuesta. Otra pregunta a raíz de tu respuesta:
Si con un TC65 no es posible adjuntar un archivo en un e-mail, ¿con qué dispositivo de similares características podría hacerlo?
Muchas gracias,
Dudoso
Hola,
si es posible pero es un poco engorroso.
En general el protocolo SMT se usa para enviar correos a través de un servidor de correo.
Cuando usas este protocolo el cliente de correo(en este caso la pila at^SISx del módulo Cinterion) puede/debe especificar parámetros como dirección del destinatario, dirección del enviante, sujeto, etc y finalmente el cuerpo del mensaje.
Lo curioso es que los adjuntos de un correo electrónico se pueden enviar como texto, con lo cual podrían ser tranmitidos con los módulos de Cinterion que dispongan de pila TCP/IP mediante comandos AT^SISx, aunque estos comandos no dispongan de opción de incluir ficheros adjuntos.
Para hacer esto con tu MMI necesitarás convertir el fichero en texto plano y añadirlo/enviarlo mediante los comandos AT usando ciertas cabeceras hexadécimal.
Necesitarás convertir el fichero a adjuntar unsando codificación base64 y las cabeceras. Mas información sobre esta codificación en sanwikipedia http://en.wikipedia.org/wiki/Base64 . Desventeja, esta codificación hará 4/3 mas grande el fichero a causa de las cabeceras y la codificación. Para un fichero de 3K necesitarás enviar cerca de 4K de información, resumiendo mas datos mas €
Ejemplo de envio de un correo sin fichero adjunto
AT^SISS=0,”srvType”,”SMTP”
AT^SISS=0,”alphabet”,1
AT^SISS=0,”address”,”AddressOfSmptserver”
AT^SISS=0,”smFrom”,”OriginatorAddress”
AT^SISS=0,”smRcpt”,”RecipientAddress”
AT^SISS=0,”smSubj”,”Text of Subject”
Después se invoca el servicio SMT con el comando at^siso y con at^sisw se envia
Ahora bien para enviar el correo con fichero adjunto, el mensaje tiene que ser dividido en varias partes. El comienzo de cada una de esas partes se marca con “boundary-pattern”. Para hacer esto lo siguientes parámetros son requeridos:
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=”aaaaaAAAAAbbbbbBBBBBcccccCCCCC”
“multipart/mixed” significa que el emnsaje consta de varias partes
“boundary” especifica que los datos tienen que detectar nuevos datos. Esta parte puede ser lo que quieras. Después esta parte necesitas “–” para señalar el nuevo “boundary”
En este ejemplo empírico el “boundary” se define con la cadena “aaaaaAAAAAbbbbbBBBBBcccccCCCCC”, sin embargo el mensaje de texto tendrá que contener la cadena “–aaaaaAAAAAbbbbbBBBBBcccccCCCCC” siempre en cada nueva parte.
Ejemplo:
AT^SISS=0,”smHdr”,”MIME-Version: 1.0DAContent-Type: multipart/mixed; boundary=\22aaaaaAAAAAbbbbbBBBBBcccccCCCCC\22″
El mensaje de texto que será enviado usando at^siw tiene que ser modificado para corresponder alsiguiente formato:
–boundary pattern ***
Content-Type: text/plain; charset=US-ASCII empty line***
message text***
empty line***
–boundary pattern ///
Content-Type: application/octet-stream ///
Content-Transfer-Encoding: base64 ///
Content-Disposition: attachment; filename=”name of file” ///
empty line ///
content of attached file encoded in base64 format ///
–boundary pattern–///
La parte que acaba en *** es el mensaje y la parte queacabaen /// es el fichero . Por supuesto eliminar del mensaje los dos tipos de marcas
Cada línea tiene que terminar con CRLF(0x0D y 0x0A)
Cada empty line es un CRLF
Cada bounday debe tener “–”
El último boundary debe tener tambien “–”
Para añadir varios ficheros esto se complica con boundary por separado, vamos no me voy a meter en esto.
Ejemplo codificado con comandos AT:
En este ejemplo se describe un correo con un fichero adjunto llamado “test06.bin”. Este fichero puede ser lo que tu quieras, pero pondré un texto para no complicarlo.
Texto:This is a test
Tamaño de test06.bin 14Bytes.
Una vez convertido en texto en base64 será:
VGhpcyBpcyBhIHRlc3Q=
Gracias http://www.webutils.pl/index.php?idx=base64 por hacer esto por mi
La secuencia de comandos sería
AT^SISS=0,”srvType”,”SMTP”
AT^SISS=0,”alphabet”,1
AT^SISS=0,”address”,”smtp.xxx.xxx”
AT^SISS=0,”smFrom”,”xxx@xxx.xxx”
AT^SISS=0,”smRcpt”,”xxxreceptor@xxx.xxx”
AT^SISS=0,”smSubj”,”Asunto”
AT^SISS=0,”smHdr”,”MIME-Version: 1.0DAContent-Type: multipart/mixed; boundary=\22aaaaaAAAAAbbbbbBBBBBcccccCCCCC\22″
Ahora introduce AT^SISO=0 para comenzar la conexión y el servicio y recibirás el URC ^SISW:0,1 y envia al modem los siquientes comandos
AT^SISW=0,365,1
^SISW: 0, 365, 0
–aaaaaAAAAAbbbbbBBBBBcccccCCCCC
Content-Type: text/plain; charset=US-ASCII
This is an example how to send an email with attachment
–aaaaaAAAAAbbbbbBBBBBcccccCCCCC
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=”test06.bin”
VGhpcyBpcyBhIHRlc3Q=
–aaaaaAAAAAbbbbbBBBBBcccccCCCCC–
OK
^SISW: 0, 2
AT^SISC=0
OK
He suprimido mi servidor de correo y direcciones de correo.
Te debería llegar un correo en Asunto: Asunto; en cuerpo del mensaje “This is an example how to send an email with attachment” y con un fichero adjunto llamado test06.bin que si lo abres con un editor de texto pone “This is a test”
Ahora a experimentar.
Después de semejante ladrillo y complicación también te puedes plantear hacer un append en un servidor FTP, o crear ficheros nuevos con el contenido que quieras, creo será muuuuuchooooo mas sencillo.
Ahora un voluntario para implementarlo en Java con Comandos AT , o en Java con sockets.
Salu2
Pua
hola,
disculpad por las faltas de ortografía.
comentar que el símbo que sale — coresponde a 2 veces el simbolo – . en en ejemplo codificado que da claro que son 2 veces el caracter -
Salu2
Pua
Bonito ejemplo Pua,
a ver si me animo y hago un mini ejemplo en java
Salu2
Hola,
Te tomo la palabra!!!
Te invito a unas cervezas la próxima vez nos veamos
Salu2
Pua
Hola BlogElectronica!!
I’m developing an application with the module XT75. I have problem in measurement with ADC_IN ports.
Have you any example to provide me?
My problem consists in read the same value of voltage on both ports (I think that the program which I wrote is right, so maybe the problem is hardware)
Thanks for reply!!
Gabriele
Hi Grabriele,
check the ranged value thaht the module can measure, the module has ranges to measure and maybe your device is out of this ranges. you can find the information in the Hardware description of this module. Other possibility could be your circuit.
I hope there is a example in the hardware manual
Regards
Pua
Hi Grabriele,
maybe you can use something like this:
//Método para leer un ADC.
public int getADC(int numADC)
{
String respuestaAT,resultado;
int posiIni=0,posiFin=0;
try
{
//Leemos el estado de un determinado nº de pin
respuestaAT=sendAT(“at^sradc=” + numADC);
posiIni=respuestaAT.indexOf(“^SRADC:”);
if (posiIni>-1)
{
posiFin=respuestaAT.indexOf(“\r”, posiIni);
resultado=respuestaAT.substring(posiIni+12, posiFin);
return Integer.valueOf(resultado).intValue();;
}
else
return 0;
}
catch (Exception e)
{
if (debug) System.out.println(“Excepcion getADC”);
if (debug) e.printStackTrace();
}
return 0;
}
The range is 0 … 2.4V
Best regards.
Hola!
Retomo el hilo para preguntar si también es posible recibir emails con los Cinterion. ¿Desde un servidor POP3 quizá?
Saludos.
Hola Alfredo,
pues sí, puedes perfectamente bajarte un email con un TC65i? Tienes un ejemplo en la página 304 del manual de comandos AT del tc65i.
Salu2
muy buenas a tod@s,
estoy intentando mandar un email con el ejemplo arriba expuesto y no lo consigo, leyendo vuestros comentarios me surgen 3 dudas:
- Para enviar un e-mail con un TC65 ¿qué versión necesito? yo tengo la 3.
- En caso de que consiguiera mandar un e-mail ¿se puede adjuntar un archivo .txt?
- esta es mi configuración: ¿es correcta?
String direccionServidorSMTP = “xxx.xxx.xxx.xxx”; // la dirección que sea
String login = “miguel@hotmail.com”;
String password = “micontraseña”;
String emailOrigen = “miguel@hotmail.com”;
String emailDestino = “miguelito@gmail.com”;
ATC.send(“AT^SICS=1,conType,GPRS0\r”);
ATC.send(“at^sics=1,apn,movistar.es\r”);
ATC.send(“at^sics=1,user,MOVISTAR\r”);
ATC.send(“at^sics=1,passwd,MOVISTAR\r”);
Un saludo y gracias.
una última cosa, cuando lo ejecuto con el hyperterminal sólo me aparece:
^SYSSTART
Saludos.
muy buenas a tod@s,
ya por fin puedo enviar email desde mi TC65 v.3 con la configuración anteriormente indicada, ahora tengo otro problema dicho email lo recibo bien si el cuerpo del mensaje es pequeño cuando tengo que mandar una ristra gorda de bytes no lo consigue enviar, da este resultado:
java.io.IOException: Error sending data, no ongoing data connection
– com.siemens.icm.io.ATCommand..unknown.(), bci=0
– com.siemens.icm.io.ATCommand..unknown.(), bci=4
– com.siemens.icm.io.ATCommand$OutputStreamDataConnection.write(), bci=59
– com.siemens.icm.io.ATCommand$OutputStreamDataConnection.write(), bci=5
– src.main.escribirSocket(), bci=60
– src.main.enviarEmail(), bci=338
– src.main.(), bci=162
– java.lang.Class.newInstance(), bci=0
– javax.microedition.midlet.Main.main(), bci=53
¿alguna solución?
Saludos
Hola Miguel,
eso es porque escribes en el socket antes de recibir el URC de que puedes escribir más datos por el socket. Es decir, si usas el comando AT^SISW para escribir datos ANTES de recibir el URC ^SISW: 1,1 (indicando que está disponible el socket 1 por donde envías datos, recibirás ese error.
Salu2.
HOLA A TODOS
Estoy provando el ejemplo del Envio EMAIL con comandos AT
pero siempre me sale el mismo error:
400, “SMTP protocol error (530): 5.7.0 Must issue a STARTTLS command first
E buscado y sale que es error de authentificacion,
e provado con
at^siss=1,smAuth,1
y con
at^siss=1,smAuth,0
y siempre sale el mismo error,
Alguien sabe que pasa?
GGRACIAS Y SALUDOS
Hola Creacket,
creo recordar que el stack no te permite el uso del perfil de SMTP para el uso de servidores con encriptación (que no es lo mismo que autenticación). Deberías usar un servidor de email sin encriptación.
Salu2