| ||||
Bien... veo que aun no hemos avanzado mucho, comenzaron los examenes bimestrales.... buu. Asi que debemos comenzar YA, ahora mismo, asi que si Metallick, como secretario del proyecto necesitamos tener al dia todo el avance hasta ahora. Yo ahora estoy en un trabajo, y ya hice el instalador de lo que me pidieron, asi que lo voy a postear para ver si lo podemos usar en el foro. Saludos
__________________ HPNeo |
| ||||
HPNeo en mi universidad me estan dando duro... asique no tengo mucho tiempo pero en lo que pueda ayudar me avisan.... saludos
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
Ok, no hay problema. Aqui estaba haciendo un instalador, quizas sirva:
Código:
Espero sus respuestas <% admin=Request.Form("txtnickadmin") 'nick del administrador emailadmin=Request.Form("txtemailadmin") 'email del administrador claveadmin=Request.Form("txtclaveadmin") 'contraseña del administrador nadmin=Request.Form("txtnombreadmin") 'nombre real del administrador ap1admin=Request.Form("txtapellido1admin") 'primer apellido del administrador ap2admin=Request.Form("txtapellido2admin") 'segundo apellido del administrador nempresa=Request.Form("txtnombrempresa") 'nombre de la empresa que usara el carrito If admin="" Or emailadmin="" Or claveadmin="" Or nempresa="" Then 'Primer If de la pagina: si alguna de las variables esta vacia, 'se procede a mostrar el formulario de instalacion %> FORMULARIO DE INSTALACION <% Else 'Else del primer If de la pagina %> <% Proceso de instalacion Dim cinstal, sqlinst, rsinst Set cinstal = Server.CreateObject("ADODB.Connection") cinstal.Open "db" sqlinst = "Insert Into Usuarios(nickusuario,nombreusuario,apellido1usuario,apellido2usuario,emailusuario,claveusuario," sqlinst = sqlinst&"admin) values ('"&admin&"','"&nadmin&"','"&ap1admin&"','"&ap2admin&"','"&emailadmin&"'," sqlinst = sqlinst&"'"&claveadmin&"','Sí')" Set rsinst = Server.CreateObject ("ADODB.RecordSet") rsinst.Open sqlinst, cinstal rsinst.Close cinstal.Close Set rsinst = Nothing Set cinstal = Nothing Dim fsoinst, fichinst, ruta, texto ruta=request.ServerVariables("APPL_PHYSICAL_PATH")&"global.txt" Set fsoinst = CreateObject("scripting.filesystemobject") 'creo el objeto TextSream Set fichinst = fsoinst.OpenTextFile(ruta,8) texto="<%"&Vbcrlf&"admin="&CHR(34)&admin&CHR(34)&Vbcrlf&"emailadmin="&CHR(34)&emailadmin&CHR(34)&Vbcrlf&"claveadmin="&CHR(34)&claveadmin&CHR(34)&Vbcrlf texto=texto&"nempresa="&CHR(34)&nempresa&CHR(34)&Vbcrlf&"%"&">" fichinst.Write(texto) fichinst.Close() %> <% End If 'End If del primer If de la pagina %>
__________________ HPNeo |
| ||||
HPNeo, ahí falta un poquito de control de seguridad (mayormente, contra SQL Injection). Contra TODOS los datos que nos vienen en la colección request, hay que hacer una limpieza (Sobre todo si, inmediatamente después, se van a usar esos datos para interactuar con la base de datos) |
| ||||
yo para los fines de seguridad tanto por tipos de datos como por SQL injection usaria algunas funciones de la biblioteca.... ademas tambien hay una de mariano muy buena para validar formularios... eso saludos
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| |||
Me quiero sumar a este proyecto, obviamente si me aceptan... quiero decir que llevo 4 o 5 meses programando, soy todo un novato, pero si necesitan ayuda, con gusto estaré dispuesto a brindarsela. Así que si quieren o necesitan algo, cuenten conmigo sin problemas. Yo últimamente me estoy haciendo mucho tiempo para programar y aprender, y si esta idea se llega a cumplir con sus objetivos, sería un gran aprendizaje para todos, tanto en sentido de programación como a la hora de trabajar en equipo y tener una meta en común. Seguro va a ser una experiencia muy buena para todos, por eso quiero participar, y por eso le quiero poner muchas ganas, como dije antes, si es que me aceptan a ser participe de esto (no es para meter presión, pero espero que si, jejeje si no me aceptan no hay problema, fue una broma). Espero que se pueda terminar este proyecto con exito, independientemente de que participe en el mismo o no. Sigan para adelante!. Saludos!.
__________________ Add, never Remove |
| ||||
amigo amriano.... porsupuesto que puedes partisipar del proyecto... la idea es que sea un foro de los usuarios de aqui... osea de todos nosotros... bienvenido :D
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| |||
Bueno, muchas gracias, espero ser de ayuda y aportar al menos algo mínimo. Seguí más o menos el hilo de este post y del inicio del proyecto... se siguen comunicando via e-mail? que es lo que está haciendo falta en este momento para desarrollar?, cualquier cosa manden un mp o sino a mi mail [email protected]. Saludos y vamos a darle para adelante que va a estar muy bueno!
__________________ Add, never Remove |
| ||||
Yo en cuanto a lo de seguridad como dije pondria las funciones de la biblioeca limpiar.asp
Código:
eso con unas pocas modificaciones y la otra seria validar.asp tambien algo modificada% Dim str function limpiar(strlimpiar,modolimpiar) 'modolimpiar = 0 prepara strlimpiar para insert 'modolimpiar = 1 Prepara strlimpiar para insert evitando, ademas, la entrada de HTML 'modolimpiar = 2 Prepara strlimpiar para un login y evita sql injection str = trim(strlimpiar) Select Case modolimpiar Case 0 str = replace(str,"'","''") str = replace(str,"<","<") str = replace(str,">",">") Case 1 str = replace(str,"'","''") str = replace(str,"<","<") str = replace(str,">",">") str = replace(str,chr(13),"<br>") Case 2 str = lcase(str) str = replace(str,"=","") str = replace(str,"'","") str = replace(str,"""""","") str = replace(str," or ","") str = replace(str," and ","") str = replace(str,"(","") str = replace(str,")","") str = replace(str,"<","[") str = replace(str,">","]") str = replace(str,"having ","") str = replace(str,"group by","") str = replace(str,"union select sum","") str = replace(str,"union select min","") str = replace(str,"--","") str = replace(str,"select ","") str = replace(str,"insert ","") str = replace(str,"update ","") str = replace(str,"delete ","") str = replace(str,"drop ","") str = replace(str,"-shutdown","") Case Else str = strlimpiar End Select limpiar = str end function %>
Código:
eso saludos <% Dim estado_validacion Dim i Dim campo function validar(campo, n_caracteres, numeros, texto) campo = Lcase(campo) estado_validacion = true if numeros = true And texto = true then For i = 1 To Len(campo) If(Mid(campo, i, 1) < "a" Or Mid(campo, i, 1) > "z") And (Mid(campo, i, 1) < "0" Or Mid(campo, i, 1) > "9") then estado_validacion = false validar = estado_validacion exit function End If next elseif numeros = true And texto = false then For i = 1 To Len(campo) If(Mid(campo, i, 1) < "0" Or Mid(campo, i, 1) > "9") then estado_validacion = false validar = estado_validacion exit function end if next elseif numeros = false And texto = true then For i = 1 To Len(campo) If(Mid(campo, i, 1) < "a" Or Mid(campo, i, 1) > "z") then estado_validacion = false validar = estado_validacion exit function end if Next end if if Len(campo) > n_caracteres OR campo = "" then estado_validacion = false validar = estado_validacion exit function end if validar = estado_validacion end function %>
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| |||
hola me llamo Erik y yo tambien estoy comenzando a programar en ASP solo llevo un semestre con esto y no se mucho pero si uds desean puedo serles de ayuda ademas por ke me gustaria aprender mas sobre la programacion en ASP ![]() |
| ||||
bueno balto28 bienvenido.... en un rato mas me pongo en contacto contigo para mandarte lo que llevamos del foro.... eso saludos
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
Lista la funcion de envio de emails con distintos componentes:
Código:
Bueno le comentaba a Mariano que mi idea es hacer que toda la configuración del foro sea automatica, osea con el instalador de HPNeo y las funciones de todo lo que pueda variar de un servidor a otro, pero el tope es como hacer que se autodetecten los componentes del server (en el caso del envio de emails) o que se detecte ciertas cosas del server de talmanera que segun esta informacion el foro se configure automaticamente.... Bueno eso saludos <% function email(strPara,strDe,strDeEmail,strAsunto,strMemsaje,strHost,componente) 'componente = 0 Si el componente es CDONTS 'componente = 1 Si el componente es CDOSYS 'componente = 2 Si el componente es AspMail 'componente = 3 Si el componente es AspEmail 'componente = 4 Si el componente es Geocel 'componente = 5 Si el componente es JMail 'componente = 6 Si el componente es DynuEmail 'componente = 7 Si el componente es EasyMail 'componente = 8 Si el componente es SA-SMTPMail 'componente = 9 Si el componente es ocxQmail Select Case componente Case 0 Set msMail = CreateObject("CDONTS.NewMail") With msMail .BodyFormat = 0 '0 si es HTML y 1 si es texto plano. .MailFormat = 0 '0 si es HTML y 1 si es texto plano. .To = strPara .From = strDe & " <" & strDeEmail & ">" .Subject = strAsunto .Body = strMensaje .Send End With Case 1 Dim conf Set conf = Server.CreateObject("CDO.Configuration") With conf.Fields .Item("http://schemas.microsoft.com/cdo/con...ion/smtpserver") = strHost .Item("http://schemas.microsoft.com/cdo/con...smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/con...tion/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/con...nectiontimeout") = 60 .Update End With Set msMail = Server.CreateObject("CDO.Message") With msMail Set .Configuration = conf .From = strDe & " <" & strDeEmail & ">" .To = strPara .Subject = strAsunto .HTMLBody = strMensaje .Send End With Case 2 Set msMail = Server.CreateObject("SMTPsvg.Mailer") With msMail .ContentType = "text/html" .RemoteHost = strHost .FromName = strDe .FromAddress = strDeEmail .AddRecipient "", strPara .Subject = strAsunto .BodyText = strMensaje .SendMail End With Case 3 Set msMail = Server.CreateObject("Persits.MailSender") With msMail .Host = strHost .From = strDeEmail .FromName = strDe .AddAddress strPara .Subject = strAsunto .Body = strMensaje .IsHTML = True .Send End With Case 4 Set msMail = Server.CreateObject("Geocel.Mailer") With msMail .AddServer strHost, 25 .FromAddress = strDeEmail .FromName = strDe .AddRecipient strPara, "" .Subject = strAsunto .Body = strMensaje .ContentType = "text/html" .LogLevel = 4 .LogFile = "c:\temp\emailcoms\geocel.log" .Send End With Case 5 Set msMail = Server.CreateOBject("JMail.Message") With msMail .From = strDeEmail .FromName = strDe .AddRecipient strPara .Subject = strAsunto .HTMLBody = strMensaje .Send(strHost) End With Case 6 Set msMail = Server.CreateObject("Dynu.Email") With msMail .Host = strHost .IsHTML = True .From = strDeEmail .FromName = strDe .AddAddress strPara .Subject = strAsunto .Body = strMensaje .Send() End With Case 7 Set msMail = Server.CreateObject("EasyMail.SMTP.5") With msMail .MailServer = strHost .BodyFormat = 1 'para HTML .FromAddr = strDeEmail .AddRecipient "", strPara, 1 .Subject = strAsunto .Send() End With Case 8 Set msMail = Server.CreateObject("SoftArtisans.SMTPMail") With msMail .RemoteHost = strHost .FromAddress = strDeEmail .FromName = strDe .AddRecipient strPara .Subject = strAsunto .HTMLText = strMensaje .Wordwrap = True .SendMail End With Case 9 Set msMail = Server.CreateObject("ocxQmail.ocxQmailCtrl.1") msMail.XHeader "Content-Type", "text/html; charset=""iso-8859-1""" msMail.Q strHost, strDe, strDeEmail, "", "", strPara, "", "", "", strAsunto, strMensaje End Select end function %>
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
Ahi estamos...
Código:
<% 'Empezamos el Arreglo Dim ObjInstalados(4) ObjInstalados(0) = "JMail.SMTPMail" ObjInstalados(1) = "CDONTS.NewMail" ObjInstalados(2) = "aspSmartMail.SmartMail" ObjInstalados(3) = "Persits.MailSender" ObjInstalados(4) = "CDO.Message" 'Luego podemos ir agregando mas objetos, segun los que necesitemos Function cmpObjInstalados(strClassString) On Error Resume Next ' Inicia Valores por Defecto cmpObjInstalados = False Err = 0 ' Probamos Dim PruebaObj Set PruebaObj = Server.CreateObject(strClassString) If 0 = Err Then cmpObjInstalados = True ' Limpiamos Set PruebaObj = Nothing Err = 0 End Function 'NUEVO: Aqui va, como ya es costumbre suya, lo pueden arreglar If cmpObjInstalados(ObjInstalados(0))=True Then 'Aqui puede ir un include: inc/email_jmail.asp ElseIf cmpObjInstalados(ObjInstalados(1))=True Then 'Aqui puede ir un include: inc/email_cdonts.aspElseIf cmpObjInstalados(ObjInstalados(2))=True Then 'Aqui puede ir un include: inc/email_aspsmartemail.asp ElseIf cmpObjInstalados(ObjInstalados(3))=True Then 'Aqui puede ir un include: inc/email_aspemail.asp ElseIf cmpObjInstalados(ObjInstalados(4))=True Then 'Aqui puede ir un include: inc/email_cdosys.asp End If %> En teoria: si encuentra un objeto de los puestos en el array q esta instalado, llama un include donde se encuentra una funcion enviaremail(parametros), q obviamente esta con ese nombre en todos los includes de los objetos para enviar emails... Ahora queda ver como hacemos para elegir un solo objeto si es q estan instalados dos o mas que hacen la misma funcion.
__________________ HPNeo Última edición por HPNeo; 25/07/2005 a las 17:26 |
| ||||
tenemos un nuevo problema amigos.... como guardamos la configuracion del foro???? en base de datos???? en xml???.... se agradecen todo tipo de sugerencias... saludos
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
pero hacerlo en un archivo XML tendra problemas de seguridad??... me imagino que si porque al ser este tipo de archivos descargables podria generar problemas... o no???? bueno espero vuestra opinion
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
el script de HPNeo adaptandolo quedo asi:
Código:
Ahora pongo comentarios porque aun no sabemos como lo vamos a hacer para guardar la configuración.... espero aclarar luego eso.. saludos <% 'Empezamos el Arreglo Dim ObjInstalados(9) ObjInstalados(0) = "CDONTS.NewMail" 'Si el componente es CDONTS ObjInstalados(1) = "CDO.Message" 'Si el componente es CDOSYS ObjInstalados(2) = "SMTPsvg.Mailer" 'Si el componente es AspMail ObjInstalados(3) = "Persits.MailSender" 'Si el componente es AspEmail ObjInstalados(4) = "Geocel.Mailer" 'Si el componente es Geocel ObjInstalados(5) = "JMail.SMTPMail" 'Si el componente es JMail ObjInstalados(6) = "Dynu.Email" 'Si el componente es DynuEmail ObjInstalados(7) = "EasyMail.SMTP.5" 'Si el componente es EasyMail ObjInstalados(8) = "SoftArtisans.SMTPMail" 'Si el componente es SA-SMTPMail ObjInstalados(9) = "ocxQmail.ocxQmailCtrl.1" 'Si el componente es ocxQmail 'Luego podemos ir agregando mas objetos, segun los que necesitemos Function cmpObjInstalados(strClassString) On Error Resume Next ' Inicia Valores por Defecto cmpObjInstalados = False Err = 0 ' Probamos Dim PruebaObj Set PruebaObj = Server.CreateObject(strClassString) If 0 = Err Then cmpObjInstalados = True ' Limpiamos Set PruebaObj = Nothing Err = 0 End Function If cmpObjInstalados(ObjInstalados(0))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(1))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(2))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(3))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(4))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(5))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(6))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(7))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(8))=True Then 'Agregar el componente a la tabla configuracion de la base de datos ElseIf cmpObjInstalados(ObjInstalados(9))=True Then 'Agregar el componente a la tabla configuracion de la base de datos End If %>
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
Los comentarios de "Agregar el componente a la tabla configuracion de la base de datos", si es como lo entiendo es.... TABLA Configuracion: . . . ...ObjEmail=0,1,2, etc. (0 en caso d que sea CDONTS, 1 en caso d que sea CDOSYS, 2 en caso d que sea AspMail, etc.) . . . Luego:
Código:
Creo que esa era la forma que puse en el post anterior, solo que faltaba darle la forma crucial de perpetuar la opcion. If rs.Fields("ObjEmail")=0 'Espero q sea un include cdonts ElseIf rs.Fields("ObjEmail")=1 'Espero q sea un include cdosys . . . End If
__________________ HPNeo Última edición por HPNeo; 26/07/2005 a las 16:58 |
| ||||
si pero a lo que voy es que tenemos que decidir la forma en la que vamos a guardar la configuracion del foro, en un XML en una base de datos, en un archivo asp o en que???? saludos
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
Yo diria que el archivo de configuración fuese en ASP, ya que en XML para lo unico que serviria es que se pueda "transportar", lo cual no es un requisito o si ? Aparte la lectura de las configuraciones seria más rapida y no tener que andar "leyendo" el xml. Es mi opinión nomás. Salu2!
__________________ Sergio |
| ||||
Nuevas funciones A ver, a ver... Nuevas funciones: opcion: 1,2 o 3 representa a categoria(1), foro(2), tema(3) nombre: nombre de la categoria, foro o tema descripcion: descripcion de la categoria, foro o tema. id: representa, en el segundo caso (foro), a la variable que determina a que categoria pertenece el foro, en el tercer caso(tema), representa a la variable que determina a que foro pertenece el tema. idcond: que señala el id del registro seleccionado para modificar Funcion crear(opcion, nombre, descripcion, id):
Código:
<% Dim opcion, nombre, descripcion, id, idcond Function crear(opcion, nombre, descripcion, id) If opcion="1" Then ' Si se desea crear una categoria sql="Insert Into categorias (titulo_cat) values ('"&nombre&"')" ElseIf opcion="2" Then 'Si se desea crear un foro sql="Insert Into foros (id_cat,titulo_foro,desc_foro) values ('"&id&"','"&nombre&"','"&descripcion&"')" ElseIf opcion="3" Then 'Si se desea crear un tema sql="Insert Into temas (id_foro,titulo_tema) values ('"&id&"','"&nombre&"')" End If End Function %> Function modificar(opcion, nombre, descripcion, id, idcond):
Código:
Function borrar(opcion, idcond):<% Function modificar(opcion, nombre, descripcion, id, idcond) If opcion="1" Then ' Si se desea modificar una categoria sql="Update categorias Set titulo_cat='"&nombre&"' Where id_cat='"&idcond&"'" ElseIf opcion="2" Then 'Si se desea modificar un foro sql="Update foros Set id_cat='"&id&"', titulo_foro='"&nombre&"', desc_foro='"&descripcion&"' Where id_foro='"&idcond&"'" ElseIf opcion="3" Then 'Si se desea modificar un tema sql="Update temas Set id_foro='"&id&"', titulo_tema='"&nombre&"' Where id_tema='"&idcond&"'" End If End Function %>
Código:
<% If opcion="1" Then ' Si se desea modificar una categoria sql="Delete From categorias Where id_cat='"&idcond&"'" ElseIf opcion="2" Then 'Si se desea modificar un foro sql="Delete From foros Where id_foro='"&idcond&"'" ElseIf opcion="3" Then 'Si se desea modificar un tema sql="Delete From temas Where id_tema='"&idcond&"'" End If End Function %>
__________________ HPNeo Última edición por HPNeo; 03/08/2005 a las 10:57 |
| ||||
Hola amigos. Disculpen la interrrupción (veo que andan ya bien enfrascados en la tarea), escribo para apoyarles en la excelente iniciativa que han tenido, que vienen a confirmar que estos foros tienen un altísimo nivel, son sin duda los mejores foros de programación que hay en castellano Yo tengo un nivel digamos "medio" en ASP y probablemente no les pueda ayudar en la parte más compleja de la programación, pero me ofrezco como "soldado raso" para realizar tareas por ejemplo de pulido de XHTML y CSS - donde creo que voy teniendo cierto nivel-., o en lo que ustedes gusten. Tampoco dispongo de mucho tiempo, y no podré seguir muy en detalle el proceso de creación del foro, pero pienso que se podría utilizar un sistema por el que los que queremos colaborar pero no somos capaces de comprender bien la programación a escala global o no vamos a poder seguirlo día a día, pues nuestra labor "dependa" de alguno de los lideres del proyecto que nos mande instrucciones concretas de qué hay que ir puliendo. Igualmente, por si sirve de algo, comentarles que tengo una versión revisada en un castellano más que aceptable del lang.inc de WWGuide, mi email, [email protected]. |
| |||
Envío de formulario por ASP Buenas, Tengo un problemilla con el envío de formulario por ASP. He hecho un formulario en HTM que hace una llamada a ASP para que cuando el cliente pulse 'enviar' en el formulario, los datos me lleguen de forma legible a mi correo (de los que te dan en el alojamiento una vez contratado... y pagado jajjaa). El asunto es que cuando lo ejecuto localmente (con localhost e IIS instalado), todo va bien (se redirige a la página de agradecimiento, se envía el correo a la dirección indicada, etc...), pero cuando hago las pruebas redirigiéndolo a "www.servidor.com/fichero.asp", me da el siguiente error: Se han producido los siguientes errores: Error número: -2147220973 Descripción: The transport failed to connect to the server. He mirado el componente ASPEMAIL, pero por lo visto es para enviar correo a otros usuarios. Ya no sé si es posible hacer esto por ASP (que me imagino que sí) o bien hay que hacerlo cambiando algún parámetro. Consulté a sync.es para que me facilitara el SMTP, y me han dicho que es igual que el POP. ??? No entiendo qué puede estar pasando. ![]() ![]() |