PHP - Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 19 puestos en PHP (en relación al último mes)
Gráfica de PHP

Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first

Publicado por Elian (4 intervenciones) el 19/04/2020 23:25:13
Hola estoy tratando de enviar un formulario html a un correo GMAIL desde localhost usando XAMPP y me esta dando un error que desconozco al enviarlo el siguiente


"Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. o22sm2913565vsa.12 - gsmtp in C:\xampp\htdocs\enviar.php on line 67"

Aqui esta el codigo php que estoy utlizando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
 
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
 
    $bHayFicheros = 0;
    $sCabeceraTexto = "";
    $sAdjuntos = "";
    $sCuerpo = $sTexto;
    $sSeparador = uniqid("_Separador-de-datos_");
 
    $sCabeceras = "MIME-version: 1.0\n";
 
    // Recogemos los campos del formulario
    foreach ($_POST as $sNombre => $sValor)
        $sCuerpo = $sCuerpo."\n".$sNombre." = ".$sValor;
 
    // Recorremos los Ficheros
    foreach ($_FILES as $vAdjunto)
    {
 
        if ($bHayFicheros == 0)
        {
 
            // Hay ficheros
 
            $bHayFicheros = 1;
 
            // Cabeceras generales del mail
            $sCabeceras .= "Content-type: multipart/mixed;";
            $sCabeceras .= "boundary=\"".$sSeparador."\"\n";
 
            // Cabeceras del texto
            $sCabeceraTexto = "--".$sSeparador."\n";
            $sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
            $sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n\n";
 
            $sCuerpo = $sCabeceraTexto.$sCuerpo;
 
        }
 
        // Se añade el fichero
        if ($vAdjunto["size"] > 0)
        {
            $sAdjuntos .= "\n\n--".$sSeparador."\n";
            $sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";
            $sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
            $sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
 
            $oFichero = fopen($vAdjunto["tmp_name"], 'rb');
            $sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
            $sAdjuntos .= chunk_split(base64_encode($sContenido));
            fclose($oFichero);
        }
 
    }
 
    // Si hay ficheros se añaden al cuerpo
    if ($bHayFicheros)
        $sCuerpo .= $sAdjuntos."\n\n--".$sSeparador."--\n";
 
    // Se añade la cabecera de destinatario
    if ($sDe)$sCabeceras .= "From:".$sDe."\n";
 
    // Por último se envia el mail
    return(mail($sPara, $sAsunto, $sCuerpo, $sCabeceras));  ==> esta es la line 67 como lo indica el error
}
 
    //Ejemplo de como usar:
    if (form_mail("iutarprueba@gmail.com",
                                "El nombre del remitente",
                                "Los datos introducidos en el formulario son:\n",
                                "iutarprueba@gmail.com"))
    echo "Su formulario ha sido enviado con exito";
 
    // Ejemplo de como usar, poniendo como remitente el campo pasado de E-mail
    /*
    if (form_mail("usuario_destino@dominio.com",
                                "Activación de formulario",
                                "Los datos introducidos en el formulario son:\n",
                                $_POST["E-mail"]))
    echo "Su formulario ha sido enviado con exito";
    */
 
    //Argimiro Cruz.*/
 
 
?>

Alguien sabe de eso?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first

Publicado por Julio (830 intervenciones) el 20/04/2020 00:36:52
Hola.

Lee esto, igual te ayuda: http://albertotain.blogspot.com/2018/02/como-configurar-xampp-para-enviar.html?m=1

No sé si habrás configurado xampp para enviar correos, pero siempre es problemático.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first

Publicado por joel (1269 intervenciones) el 20/04/2020 08:50:22
Prueba a indicarselo al inicio...

1
ini_set("smtp_port","465");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar