我有我的域中的简单的PHP脚本,向我发送电子邮件:
...
$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);
什么设置,我改变解决这一问题?
我有这个问题我自己,当我最近重新设计的网站。
有与我们的系统挂牌成立,从而使系统认为是因为电子邮件是来自同一个域到来,这是一个垃圾邮件,因此阻止它的方式的问题。
请与您的系统管理员,你是允许发送电子邮件等。
要么,你就必须修改标题就像它被从外部地址发送到具有看看。希望你得到它排序。
请确保你其实可以将邮件发送到您的域的电子邮件帐户,然后检查你的代码/电子邮件确保一切正确的拼写。如果没有这有助于我不知道哪里出了问题..
正如其他人解释,一些服务器被配置为拒绝邮件丢失在发送服务器上有效的电子邮件地址。检查$标题字符串包括定义有效的电子邮件地址“来源:[email protected]”。
我有同样的问题,因为我在其他服务器上的电子邮件托管,我不得不禁用本地邮件服务器。
我有这个问题了几次,而罪魁祸首是如果电子邮件的另一台服务器(例如谷歌企业应用套件)上被主办的。当邮件发送到本地域,它不打扰做的MX记录查找,因此它不会正确地路由。这个问题的解决方案只是简单地交由您的主机服务器上禁用邮件功能。
我也有这个问题。禁用所有意味着没有电子邮件的邮件服务器发送!所以我做了修复是从/etc/mail/local-host-names
文件中删除所有的本地域名
确保您的txt
记录是正确设置为您的域。这通常发生在你不把这个在txt
记录:@ (None)
v = SPF1包括:_spf.google.com〜所有
我有一个类似的问题,其中所有的邮件都被完美地发送到Gmail等,现场,雅虎等其他领域,但所有的邮件将会消失在地域。我曾与这是基于Linux的运行Qmail的GoDaddy的一个VPS服务器。
我在无功/ qmail的/控制/ virtualdomains文件中删除特定域名解决了这个问题。
SMTP邮件服务器可能是一种选择了。
我花这个错误超过8小时,解决它只是改变标题为任何其他的电子邮件地址,它会工作
什么工作对我来说是选择本地邮件交换器:
本地邮件交换器将让您发送电子邮件的帐户在GoDaddy的同一域中的:例如: - 电子邮件至[email protected]
对于使用谷歌Apps的电子邮件,但有其他供应商主机的人来说,这是不是很熟悉的cPanel的人更详细的说明。
我可以修复使用PHP的形式从我的域名发送邮件,发送邮件时的帐户我域内的问题。
即mydomain.com联系表格发送电子邮件至[email protected]。以上是行不通的,即使我的域名有使用谷歌Apps的域名正确的MX记录。
正如迈克指出(及其他)上面的问题得到了解决:添加MX记录到的cPanel。
通过此设置,我能够用邮件PHP函数来发送邮件到电子邮件帐户相同的域里面的我的网站。
谷歌应用程序的指令谈论MX记录https://support.google.com/a/answer/54717?hl=en
在https://serverfault.com/questions/65365/disable-local-delivery-in-sendmail顶端回答似乎是正确的我。它的要点是要在你的sendmail.mc如下:
define(`MAIL_HUB`, 'example.com.')dnl
define(`LOCAL_RELAY`, 'example.com.')dnl
其中example.com是有问题的领域。
如果您使用的后缀,这样做:
nano /etc/postfix/main.cf
# mydestination = ...
mydestination =
/etc/init.d/postfix reload
您需要设置附加参数上的邮件功能。在您的工作例如,你需要用“-f”例如预先考虑您的电子邮件地址
mail($toMail, $subject, $message, $header, "[email protected]");
我有同样的问题,并能解决它以下列方式。我没有本地存储的邮件服务器上,但使用的注册商MX记录将邮件到谷歌Apps中。原来需要交友要更新,以及MX记录,因为服务器没有从注册商采取的MX记录,但因为没有本地MX记录或邮箱而不是丢弃。我更新的cPanel MX条目相匹配的注册商的MX项,问题被瞬间定
你有你的电子邮件托管的不同的服务器的网站上?如果是这样的PHP脚本可能试图在内部发送它在这种情况下,它会就此消失,而其他目标的电子邮件将得到提上到互联网和路由正常的情况下。
我找到解决的办法是禁用您的虚拟主机上的邮件服务器,然后PHP将会把消息上要正确发送的互联网。
我同意迈克尔Hellein,问题的根源可能是你的sendmail考虑您的域example.com的电子邮件帐户作为本地帐户。如果是这样,这里有一些指导链接:
但在我的情况下,使用的是FreeBSD 8.2,真正的伎俩是:
# cd /etc/mail
# vim freebsd.mc
添加以下两行:
define(`MAIL_HUB', `example.com.')dnl
define(`LOCAL_RELAY', `example.com.')dnl
就在之前:
MAILER(local)
MAILER(smtp)
然后:
# make
这是输出:
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
然后:
# cp sendmail.cf sendmail.cf.bak
# cp host.example.com.cf sendmail.cf
# /etc/rc.d/sendmail restart
希望这可以节省一些头痛的人。
随着后缀,Debian7,SMTP Mailjet
如果域名是my-domain.com
,在/etc/postfix/main.cf
,变化
mydestination = my-domain.com, localhost, localhost.localdomain, localhost
至
mydestination = localhost, localhost.localdomain, localhost