php - quiero - crear correo personalizado outlook
no puedo enviar correos electrónicos a direcciones en mi propio dominio (18)
¿Tiene su correo electrónico alojado en un servidor diferente al sitio web? Si ese es el caso, el script PHP puede estar intentado enviarlo internamente, en cuyo caso desaparecerá, mientras que los otros correos electrónicos de destino se pondrán en Internet y se enrutarán correctamente.
La solución que encontré fue desactivar el servidor de correo en su servidor web, y luego PHP enviará el mensaje a Internet para que se envíe correctamente.
Tengo un script php simple en mi dominio que me envía un correo electrónico:
...
$toMail = "[email protected]"; //this works - I get the email at my gmail
$toMail = "[email protected]"; //this doesn''t - I get nothing
mail($toMail, $subject, $message, $header);
¿Qué configuración cambiar para arreglar esto?
Asegúrese de que su registro de texto esté configurado correctamente para su dominio. Esto generalmente sucede cuando no lo coloca en el registro de texto: @ (None)
v = spf1 incluye: _spf.google.com ~ all
Con PostFix, Debian7, smtp Mailjet
Si el dominio es my-domain.com
, en /etc/postfix/main.cf
, cambie
mydestination = my-domain.com, localhost, localhost.localdomain, localhost
a
mydestination = localhost, localhost.localdomain, localhost
El servidor de correo SMTP también podría ser una opción.
Estoy de acuerdo con Michael Hellein, el problema raíz podría ser su correo electrónico de envío considerando las cuentas de correo electrónico de su dominio ejemplo.com como cuentas locales. Si es así, aquí hay algunos enlaces guía:
- https://serverfault.com/questions/65365/disable-local-delivery-in-sendmail
- https://serverfault.com/questions/102647/sendmail-to-local-domain-ignoring-mx-records-part-2
- http://lists.freebsd.org/pipermail/freebsd-questions/2004-September/057382.html
- http://objectmix.com/sendmail/367920-sendmail-ignores-mailertable-some-semilocal-domains.html
Pero en mi caso, usando FreeBSD 8.2, ¿qué fue lo que realmente hizo el truco?
# cd /etc/mail
# vim freebsd.mc
Agrega estas dos líneas:
define(`MAIL_HUB'', `example.com.'')dnl
define(`LOCAL_RELAY'', `example.com.'')dnl
Justo antes de:
MAILER(local)
MAILER(smtp)
Entonces:
# make
Esto es resultado:
cp freebsd.mc host.example.com.mc
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 host.example.com.mc > host.example.com.cf
cp freebsd.submit.mc host.example.com.submit.mc
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 host.example.com.submit.mc > host.example.com.submit.cf
Entonces:
# cp sendmail.cf sendmail.cf.bak
# cp host.example.com.cf sendmail.cf
# /etc/rc.d/sendmail restart
Espero que esto le ahorre algunos dolores de cabeza a alguien.
He tenido este problema yo mismo, cuando estaba rediseñando un sitio recientemente.
Hubo un problema con la forma en que se configuró nuestro sistema, por lo que el sistema pensó que debido a que el correo provenía del mismo dominio, era un correo electrónico no deseado y, como tal, lo bloqueaba.
Verifique con el administrador de su sistema que le está permitido enviar los correos electrónicos, etc.
O eso, o tendrá que modificar los encabezados para que parezca que se envía desde una dirección externa. Espero que lo arregles.
La respuesta superior en https://serverfault.com/questions/65365/disable-local-delivery-in-sendmail parece correcta. La esencia de esto es que quieres lo siguiente en tu sendmail.mc:
define(`MAIL_HUB`, ''example.com.'')dnl
define(`LOCAL_RELAY`, ''example.com.'')dnl
Donde example.com es el dominio en cuestión.
Necesita establecer un parámetro adicional en su función de correo. En su ejemplo de trabajo necesitaría anteponer su dirección de correo electrónico con ''-f'', por ej.
mail($toMail, $subject, $message, $header, "[email protected]");
Para las personas que usan Google Apps para correo electrónico, pero que tienen su host en otro proveedor, estas son instrucciones más detalladas para las personas que no están muy familiarizadas con cPanel.
Podría solucionar el problema de enviar correos electrónicos desde mi dominio usando un formulario PHP al enviar el correo electrónico a una cuenta dentro de mi dominio.
es decir, mydomain.com Formulario de contacto que envía un correo electrónico a [email protected]. Lo anterior no funcionaba, incluso si mi dominio tiene los registros MX correctos para el dominio con Google Apps.
Como Mike notó (y otros) arriba, el problema fue resuelto: Agregar los registros MX al cPanel.
- Entrar en el cPanel
- Vaya a la sección Correo de cPanel
- Busque el Mantenimiento de la entrada MX, a veces no hay texto sobre el ícono.
- Seleccione el dominio relacionado
- Cambie el enrutamiento de correo electrónico al intercambiador de correo remoto.
- Agregue todos los registros MX de Google tal como están en la configuración de su dominio utilizando los valores de prioridad adecuados. Puede consultar los registros aquí y las prioridades https://support.google.com/a/answer/174125
- Verifique nuevamente el Intercambiador de correo remoto. está seleccionado.
Con esta configuración, pude enviar correos electrónicos utilizando la función PHP de correo a una cuenta de correo electrónico dentro del mismo dominio que mi sitio web.
Las instrucciones de la aplicación Google hablan de registros MX https://support.google.com/a/answer/54717?hl=en
Paso más de 8 horas en este error y lo soluciono, simplemente cambie el encabezado a cualquier otra dirección de correo electrónico y funcionará
Según lo explicado por otros, algunos servidores están configurados para rechazar correos electrónicos que carecen de una dirección de correo electrónico válida en el servidor de envío. Compruebe que la cadena $ headers incluya una dirección de correo electrónico válida definida "From: [email protected]".
Si usa postfix , haga esto:
- Conéctese a su servidor a través de ssh.
- edite su archivo main.cf :
nano /etc/postfix/main.cf
- Comenta la siguiente línea con # :
# mydestination = ...
- agregar al final del documento main.cf :
mydestination =
- recarga tu configuración de postfix ejecutando:
/etc/init.d/postfix reload
También tuve este problema. ¡Desactivar el servidor de correo significaba que no se envió ningún correo electrónico! Así que la solución que hice fue eliminar todos los nombres de dominio locales del /etc/mail/local-host-names
Tuve el mismo problema y pude resolverlo de la siguiente manera. No almaceno el correo localmente en el servidor, pero uso los registros MX en el registrador para dirigir el correo a Google Apps. Resultó que los registros MX también debían actualizarse en Cpanel, ya que el servidor no estaba tomando los registros MX del registrador, sino que descartaba porque no había un registro MX local o un buzón. Actualicé las entradas MX en Cpanel para que coincidieran con las entradas MX del registrador, y el problema se solucionó al instante
Tuve el mismo problema, y como estaba alojado en otro servidor para correo electrónico, solo tuve que deshabilitar el servidor de correo local.
Tuve este problema varias veces, y el culpable fue si el correo electrónico se estaba alojado en otro servidor (por ejemplo, Google Apps). Cuando el correo se envía al dominio local, no se molesta en realizar una búsqueda en el registro MX y, por lo tanto, no se enrutará correctamente. La solución a este problema es simplemente tener la función de correo deshabilitada en su servidor por su host.
Tuve un problema similar en el que todos los correos se enviaban perfectamente a otros dominios como gmail, live, yahoo, etc. pero todos los correos desaparecían en los dominios locales. Tenía un servidor VPS con GoDaddy, que estaba basado en Linux y ejecutaba Qmail.
Resolví el problema eliminando los nombres de dominio específicos en el archivo var / qmail / control / virtualdomains.
asegúrese de que realmente puede enviar correos a su cuenta de correo electrónico de dominio y luego verifique su código / correo electrónico asegúrese de que todo esté escrito correctamente ... si nada de esto ayudó, no sé lo que salió mal ...