Tengo xampp con php 5.6, windows 7.
Al enviar el email (y poniendo $mail->SMTPDebug = 1;) me salta estos errores:
Código:
La línea en cuestión class.smtp.php on line 248:Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in C:\xampp\htdocs\tienda2017VegaNorte\includes\class.smtp.php on line 248 SMTP -> ERROR: RSET failed: KGA����6b��6�@��Đo�Jr_י��&Ӳ�fxl��>��"��|Dm�S�H�V�s��)�m)뭝��mNP����E������br���f�!L�)S�6�c�����|��]��d|���nMz��m��gw�y��!|�kYh������_���g@v�•�>��ET=���{� �M&@���G��c��g���FsI�87#m\�2�N@�^�����X�R� ��k��د�<�%��GpM�9$��{�&[���~&��!lL�nk� *7�t ;��da�� �V�Y���@苻 SMTP -> NOTICE: EOF caught while checking if connectedThe following From address failed: [email protected] : Called Mail() without being connected Error: The following From address failed: [email protected] : Called Mail() without being connected
Código PHP:
public function StartTLS() {
$this->error = null; # to avoid confusion
if(!$this->connected()) {
$this->error = array("error" => "Called StartTLS() without being connected");
return false;
}
fputs($this->smtp_conn,"STARTTLS" . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($this->do_debug >= 2) {
$this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
}
if($code != 220) {
$this->error =
array("error" => "STARTTLS not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
if($this->do_debug >= 1) {
$this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
}
return false;
}
// Begin encrypted connection
if(!stream_socket_enable_crypto($this->smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { //Línea 248
return false;
}
return true;
}
Código PHP:
<?php
function EnvioCorreoHTML($destinatario, $contenido, $asunto, $concopia=0)
{
$mensaje = mail_cabecera();
$mensaje.= $contenido;
$mensaje.=mail_pie();
// Para enviar correo HTML, la cabecera Content-type debe definirse
$cabeceras = 'MIME-Version: 1.0' . "\n";
$cabeceras .= 'Content-type: text/html; charset=utf-8' . "\n";
// Cabeceras adicionales
$cabeceras .= 'From: '._email.'\n';
//$cabeceras .= 'Bcc: [email protected]' . "\n";
// Enviarlo
//mail($destinatario, $asunto, $mensaje, $cabeceras);
//echo $mensaje;
include("includes/class.phpmailer.php");
include("includes/class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = _strSeguridadSMTP;
$mail->Host = _strServidorCorreo;
$mail->Port = _intPuertoCorreo;
$mail->Username = _strEmailEnvios;
$mail->Password = _strPassEMailEnvios;
$mail->From = _strEmailEnvios;
$mail->FromName = _T121;
$mail->Subject = $asunto;
$mail->AltBody = "Mensaje con notificacion";
$mail->MsgHTML(utf8_decode($mensaje));
//$mail->MsgHTML($mensaje);
//$mail->MsgHTML($mensaje);
//$mail->MsgHTML(iconv("UTF-8", "CP1252", $data));
$mail->AddAddress($destinatario);
if ($concopia==1) $mail->AddBCC(_emailprincipal, "Copia");
$mail->IsHTML(true);
if(!$mail->Send()) {
echo "Error: " . $mail->ErrorInfo;
} else {
// echo "Mensaje enviado a ".$destinatario;
}
}
?>
smtp.gmail.com
587
tls
[email protected]
mypassword
Todas las variables de sesión me van bien para introducir en el formulario los datos de la compra.
La verdad es que no se que está pasando, antes funcionaba.
Muchas gracias de antemano.