Envío de correo vía smtp con autorización. Envío de correos electrónicos (SMTP vs correo PHP). Comprobando el envío de correo electrónico

Para que un determinado sitio web pueda funcionar de manera eficiente y productiva, su creación debe abordarse de la manera más responsable y cuidadosa posible. Merece especial atención la elección del sistema que se utilizará para crear una tienda online. El caso es que una plataforma comercial especializada en la venta de bienes o servicios debe permitir la implementación de todas las funcionalidades necesarias y ser fácil de usar, tanto para los administradores involucrados en el mantenimiento y llenado de sitios, como para los clientes de las tiendas online. Muchas personas y empresas que se enfrentan a la cuestión de elegir un CMS adecuado analizan si elegir Magento o OkayCMS. Comparemos las características y capacidades de estos motores de sitios web.

Al trabajar en su propio sitio web, una persona o empresa tendrá que esforzarse mucho; solo en este caso podrá contar con resultados positivos y obtener una herramienta verdaderamente eficaz. Una de las cuestiones fundamentales que habrá que resolver incluso antes de empezar a crear un sitio web será cómo decidir cuál es la opción de CMS más adecuada. A continuación, compararemos dos CMS: Joomla o OkayCMS, y prestaremos atención a las características de cada uno de ellos.

Tener su propio sitio web es uno de los requisitos fundamentales para un negocio eficaz y exitoso. Las estadísticas indican claramente un aumento en el número de compras de diversos bienes y pedidos de servicios a través de Internet. Teniendo esto en cuenta, la mayoría de empresas comerciales ya son conscientes de la necesidad de tener su propio sitio web. Sin embargo, el mero hecho de disponer de un recurso en Internet no es suficiente para contar con su eficacia, rentabilidad y beneficios empresariales esperados.

Al prepararse para crear su propio sitio web o abrir una tienda en línea, es necesario tener en cuenta y analizar muchas cuestiones, así como resolver varios problemas. Sólo en este caso podrá contar con que su proyecto traerá resultados positivos y podrá cumplir plenamente con sus expectativas. Entre las diversas cuestiones relacionadas con el desarrollo de una tienda online, merece especial atención la cuestión de la elección de un CMS. Para que le resulte más fácil decidir cuál es el motor óptimo para usted, dentro de

Cuando planean crear su propio sitio web para una futura tienda en línea, un número bastante grande de personas e incluso empresas especializadas en ventas se enfrentan a una elección difícil y extremadamente importante: cuál de los CMS existentes elegir. Si estás pensando en qué elegir: PrestaShop o OkayCMS, te sugerimos que leas este artículo, en el que compararemos estos dos sistemas para la creación de sitios en Internet, en particular, tiendas online.

Configuraciones para enviar correo vía SMTP

Hay casos en los que los creadores de sitios web se enfrentan a un problema con el correo electrónico del sitio web utilizando Joomla CMS. Por ejemplo, al enviar una carta a través del formulario de comentarios, pueden aparecer errores del siguiente tipo: "No se pudo crear una instancia de la función de correo" o "Error al llamar a la función de correo". También es posible enviar una carta sin errores, pero como resultado aún no llega al destinatario.

¿Por qué ocurren estos problemas con el correo? Para responder a esta pregunta, debe ir a la siguiente ruta en el panel de control: "Sistema" - "Configuración general" - pestaña "Servidor" - sección "Configuración de correo".

CMS Joomla proporciona tres mecanismos para enviar cartas: PHP Mail, Sendmail y SMTP. Por defecto se utiliza PHP Mail, lo que a menudo causa problemas, que están relacionados principalmente con la configuración del hosting utilizado.

Con base en lo anterior, concluimos: o recurrimos al proveedor de alojamiento en busca de ayuda o utilizamos el método Sendmail o SMTP para enviar cartas. Centrémonos en el uso de SMTP.

Configuraciones para enviar correo usando SMTP

SMTP (Protocolo simple de transferencia de correo) es un protocolo de red que se utiliza para transferir correo electrónico. Para utilizar SMTP, debe configurar correctamente los ajustes del servidor de correo específico que se utilizará.

Para ver la configuración de SMTP, debe seleccionar "SMTP" en el "Método de envío". Veamos cada configuración de servidores de correo populares: Yandex, Mail, Gmail, Rambler y Yahoo.

Configuración SMTP para Yandex

  1. Correo electrónico del sitio web: buzón en yandex.ru, por ejemplo: [correo electrónico protegido]
  2. Seguridad SMTP: SSL
  3. Puerto del servidor SMTP: 465
  4. Nombre de usuario SMTP: inicio de sesión en el buzón de correo en yandex.ru, por ejemplo: khasanov (sin @yandex.ru)
  5. Servidor SMTP: smtp.yandex.ru

Configuración SMTP para correo

  1. Correo electrónico del sitio web: buzón en mail.ru, por ejemplo: [correo electrónico protegido]
  2. Remitente de la carta: la entrada que mostrará el destinatario en el campo "Remitente"
  3. Desactivar envío de correo: activar/desactivar. funciones de correo masivo
  4. Autorización en servidor SMTP: Sí
  5. Seguridad SMTP: SSL
  6. Puerto del servidor SMTP: 465
  7. Nombre de usuario SMTP: buzón en mail.ru, por ejemplo: [correo electrónico protegido]
  8. Contraseña SMTP: contraseña del buzón
  9. Servidor SMTP: smtp.mail.ru

Configuración SMTP para Gmail

  1. Correo electrónico del sitio web: buzón de correo en gmail.com, por ejemplo: [correo electrónico protegido]
  2. Remitente de la carta: la entrada que mostrará el destinatario en el campo "Remitente"
  3. Desactivar envío de correo: activar/desactivar. funciones de correo masivo
  4. Autorización en servidor SMTP: Sí
  5. Seguridad SMTP: SSL
  6. Puerto del servidor SMTP: 465
  7. Nombre de usuario SMTP: buzón de correo de gmail.com, por ejemplo: [correo electrónico protegido]
  8. Contraseña SMTP: contraseña del buzón
  9. Servidor SMTP: smtp.gmail.com

Configuración SMTP para Rambler

  1. Correo electrónico del sitio web: buzón de correo en rambler.ru, por ejemplo: [correo electrónico protegido]
  2. Remitente de la carta: la entrada que mostrará el destinatario en el campo "Remitente"

Enviar correo a través de SMTP desde un servidor local le permite probar el envío de mensajes desde un sitio ubicado en una máquina local, o más simplemente, un servidor local. Para hacer esto, puede utilizar cualquier servicio de correo Yandex, Google o mail.ru.

En primer lugar, SMTP (Protocolo simple de transferencia de correo) es un protocolo de red ampliamente utilizado diseñado para transmitir correo electrónico a través de redes TCP/IP. Y todos los servicios de correo electrónico populares tienen dichos protocolos.

Con la llegada de los servidores locales, ya no era necesario elegir un proveedor de hosting para comprobar el rendimiento de scripts individuales o sistemas cms, y mucho menos pagar por ello. Es mucho más fácil probar todo en una computadora y luego podrás mostrarles a todos lo que has "hecho".

Muchos de estos servidores ya tienen software integrado y la funcionalidad necesaria para trabajar con correo; solo necesitas configurarlo correctamente.

Para comprobar la funcionalidad de dicho correo, se requiere lo mínimo imprescindible:

  • Puede utilizar Openserver como servidor local.
  • Y un script simple, cuya plantilla se puede encontrar justo debajo.
  • Puede utilizar cualquier servidor de correo.

Envío de correo php a través de la configuración del script SMTP

Es necesario editar una plantilla de script simple que se puede copiar a continuación o descargar de cientos de sitios similares.

Primero necesitas cambiar algunos valores en la plantilla del script.
a — cambiar a la dirección postal donde se enviará el mensaje de correo.
sujeto - asunto de la carta
mensaje - el mensaje en sí o el cuerpo de la carta.

Ejemplo de mi guión:

Por supuesto, puede ampliar un poco la funcionalidad y hacer que el script muestre un mensaje sobre el envío de correo. Aunque en realidad es el servidor SMTP el que realiza el envío, y el script sólo genera el mensaje.

Por ejemplo, puedes escribir esto:

Todos los valores sustituidos deben estar entre comillas; de lo contrario, el script arrojará un error. Después de esto, puede guardar el script en la carpeta del servidor local.

Por ejemplo: dominios/enviar/index.php y comience a configurar el envío de correo a través de SMTP opensrerver.

El correo llegará a cualquier dirección que se especifique en el script en lugar del valor 'a' , pero este correo será procesado y enviado exactamente por el SMTP que se especificará en la configuración de openserver.

  1. Iniciando el servidor
  2. Abra el módulo openserver con la configuración en el menú "correo"
  3. Rellenamos todos los campos como se muestra en la imagen, mientras sustituimos el nombre de usuario, el correo electrónico del remitente y la contraseña de un buzón de Yandex real.

Guardamos la configuración y después de reiniciar el servidor, puede acceder al script en sí. Desde la carpeta "Mis sitios", abra la carpeta "enviar" en la que se encuentra el script index.php previamente guardado.

Tan pronto como se acceda a este script, aparecerá información en una nueva ventana del navegador indicando que el script se ha completado.

Después de esto, debe verificar su buzón de correo, cuya dirección se especificó en el script, para ver si ha llegado la carta.

Si no está ahí, significa que algo no está configurado correctamente o que la carta terminó en la carpeta de spam.

Todas las demás configuraciones son similares, pero por si acaso, la información adicional no vendrá mal.

Para configurar el envío de correo a través de SMTP mail ru, simplemente necesita reemplazar los parámetros de Yandex con parámetros de mail ru.

Y para no reconstruir el servidor local cada vez, es mejor configurar diferentes perfiles de openserver. Cómo hacer esto se muestra en el video tutorial.

En este caso, bastará con cargar el perfil y todas las configuraciones especificadas para este perfil estarán disponibles después de reiniciar el servidor. Es algo muy conveniente y funciona de manera muy simple.

Para cada perfil (no importa en absoluto cómo se llamará), se deben realizar sus propias configuraciones, a menos, por supuesto, que planee utilizar scripts, sistemas cms y aplicaciones con diferentes parámetros.
De lo contrario, puede arreglárselas con la configuración predeterminada.

En cuanto al correo SMTP ru, aquí todo es idéntico.

Los datos de Yandex se cambian a datos de correo ru

Envío de correo vía smtp google

Para configurar el envío de correo a través de Google SMTP, se necesita un poco de esfuerzo.

En primer lugar, crear un perfil en Google es más complicado que en otros sistemas Yandex y Mail Ru.
En segundo lugar, el sistema no dejará pasar la carta simplemente, incluso si usted proporciona su información de inicio de sesión. Para empezar, le enviará una carta que contiene toda la información necesaria sobre instrucciones adicionales.

De lo contrario Para Google se configura exactamente de la misma manera. Sólo cambian todos los datos.

Para configurar el envío de correo a través de otro SMTP, todos los datos serán aproximadamente los mismos.

Si todo salió bien y las cartas llegaron al destinatario especificado, entonces todo se hizo correctamente. Sería genial si compartieras tus experiencias en los comentarios.

En algunos casos, con el fin de probar o diagnosticar el funcionamiento del correo, el administrador de correo necesita verificar el envío de cartas a través de sus servidores Exchange (y no solo) desde ciertos hosts. Si el servidor no requiere autorización (servidor de retransmisión abierta), puede enviar correo. Sin embargo, en la mayoría de los casos, los servidores de correo requieren autorización para enviar correo. En este ejemplo, mostraremos cómo realizar la autenticación AUTH LOGIN en un servidor SMTP en la consola telnet y enviar una carta.

INICIO DE SESIÓN DE AUTORIZACIÓN– en la terminología de Exchange, se trata de autenticación básica, cuando el nombre de usuario y la contraseña se transmiten a través de la red cifrados mediante un algoritmo base64 forma. En la mayoría de los servidores Exchange internos, los administradores no desactivan BásicoAutenticación. Puede comprobar su compatibilidad en la configuración del conector receptor.

Nota. Tenga en cuenta que un atacante, al acceder a un canal de comunicación, puede interceptar y descifrar fácilmente las credenciales de usuario codificadas en Base64. Por lo tanto, se recomienda utilizar este método de autorización exclusivamente en redes corporativas privadas.

Para autorizar en el servidor de correo usando AUTH LOGIN, necesitamos convertir el nombre de usuario y la contraseña desde donde se enviará la carta al formato Base64. Esto se puede hacer mediante scripts o servicios en línea. Utilizo el sitio https://www.base64encode.org/.

Nombre de usuario: usuario de prueba@contoso.com, en codificación Base64 resultó: dGVzdHVzZXJAY29udG9zby5jb20=

Contraseña: $ arriba3RsTr)ng- en Base64 JHVwM1JzVHIpbmc=

Ahora en la línea de comando usando Telnet nos conectamos al puerto 25 (SMTP) de nuestro servidor de correo (resaltaré los comandos ingresados ​​en azul):

telnet correo.contoso.com 25

Si es Exchange, devolverá algo como;

Presentémonos:

ehlo sender.contoso.com

El servidor devolverá una lista de capacidades y tipos de autorización admitidos. Como puede ver, la autorización básica (AUTH LOGIN) está en la lista.

250-mail.contoso.com Hola
250-TAMAÑO 36700160
250 TUBERÍAS
250-DSN
250-CÓDIGOS DE ESTADO MEJORADOS
250-INICIO
INICIO DE SESIÓN DE 250 AUTORIZACIONES
250-8BITMIME
250-BINARYMIME
250 fragmentación

INICIO DE SESIÓN DE AUTORIZACIÓN

El servidor debería responder:
334 VXNlcm5hbWU6

Ahora insertamos el nombre de usuario en formato Base64, que codificamos anteriormente:
dGVzdHVzZXJAY29udG9zby5jb20=

El servidor debería responder:

334 UGFzc3dvcmQ6.

Ahora es el momento de insertar la contraseña en formato Base64:
JHVwM1JzVHIpbmc=

Si el nombre de usuario y la contraseña son correctos, el servidor responderá.
235 2.7.0 Autenticación exitosa

Si no:

535 5.7.8 Error: error de autenticación: UGFzc3dvcmQ6

Ahora puedes completar los campos estándar de la carta:

correo de: [correo electrónico protegido]
250 2.1.0 Remitente correcto
recpt a: [correo electrónico protegido]
250 2.1.5 Destinatario OK
datos
354 Iniciar entrada de correo; terminar con .
de: TestUserovich
a: El Administrador< [correo electrónico protegido] >
Asunto: Prueba BASE SMTP autenticada vía Telnet
esta es la prueba
.
250 2.6.0 Correo en cola para entrega

ABANDONAR

221 2.0.0 Cerrando conexión.
Conexión cerrada por host extranjero.

Eso es todo, la carta de prueba debería entregarse con éxito en el buzón del destinatario.

En PHP es bastante popular utilizar scripts que automaticen el proceso de envío de cartas. En este artículo veremos un script simple que envía cartas a los destinatarios a través de SMTP ( Protocolo simple de transferencia de correo ). Sería demasiado fácil limitarnos sólo a esta funcionalidad; el script también admite archivos adjuntos, es decir, puedes adjuntar un archivo pdf, txt o doc en tu carta.

Configurar el script es bastante simple; todo lo que necesita es el nombre de usuario y la contraseña del remitente para el correo electrónico desde el que se enviarán las cartas.

El script funciona con la clase km_smtp_class.php, lo bueno de la clase es que admite varios protocolos SSL y TLS que brindan una transferencia de datos segura.

Aquí está el guión en sí:

"smtp.mail.ru", "SMTP_port" => "25", "SMTP_email" => " [correo electrónico protegido]", "SMTP_pass" => "1111111", "SMTP_type" => "null"); // Correo electrónico del destinatario $Receiver = " [correo electrónico protegido]"; // Asunto del mensaje $Subject = "Enviando un correo electrónico desde PHP"; // Texto del mensaje (en HTML) $Text = "¡Hola!
Mensaje enviado desde el script Mowshon Sitio web: http://sitio"; // Adjunto en la carta - la dirección del archivo $Attachment = ""; /* $mail = new KM_Mailer(servidor, puerto, usuario, contraseña, tipo); */ /* El tipo puede ser: null, tls o ssl */ $mail = new KM_Mailer($SenderConfig["SMTP_server"], $SenderConfig["SMTP_port"], $SenderConfig["SMTP_email"], $SenderConfig["SMTP_pass"], $ SenderConfig[" SMTP_type"]); if($mail->isLogin) ( // Adjuntar un archivo if($Attachment) ($mail->addAttachment($Attachment);) // Agregar más destinatarios $mail->addRecipient( " [correo electrónico protegido]"); $correo->addRecipient(" [correo electrónico protegido]"); /* $correo->enviar(De, Para, Asunto, Texto, Asunto = opcional) */ $EnviarMail = $correo->enviar($SenderConfig["SMTP_email"], $Receptor, $Asunto, $Texto ); // Borrar la lista de destinatarios $mail->clearRecipients(); $mail->clearBCC(); $mail->clearAttachments(); else ( echo "Se produjo un error al conectarse al servidor SMTP"; )?>

La configuración del script se basa principalmente en la matriz $SenderConfig, aquí debemos especificar el SMTP:servidor, puerto, inicio de sesión y contraseña de correo electrónico. Describamos cada clave de matriz:

SMTP_server: dirección del servidor SMTP (dirección individual para diferentes correos electrónicos)

Correo mail.ru: Puerto smtp.mail.ru: 25, 587 y 465 (con cifrado SSL)

Correo Yandex: Puerto smtp.yandex.ru: 25, 587 465 (puerto SSL)

Correo excursionista: Puerto mail.rambler.ru: 25, 587 465 (puerto SSL)

Correo de yahoo: smtp.mail.yahoo.com Puerto SSL: 465

(Si necesitas la dirección de servidores smtp que no están en la lista, escribe en los comentarios)

SMTP_port: ya lo hemos descrito anteriormente para cada servidor SMTP.

SMTP_email: usuario sería más preciso, pero para mayor claridad escribí correo electrónico, indicamos la dirección de correo electrónico.

SMTP_pass: contraseña para el correo electrónico que se especificó como valor en la clave SMTP_email


Tipo_SMTP: NULL predeterminado. El protocolo mediante el cual se enviarán las cartas. Protocolos: SSL y TLS

Puede agregar archivos adjuntos a una carta simplemente especificando la dirección completa del archivo en la variable $Attachment (/var/patch/to/file/File.pdf)

Si tiene alguna pregunta, escríbala en los comentarios a continuación.




Arriba