我需要为负载均衡的AWS站点mywebsite.com添加CName记录.记录应该是:
@ CNAME mywebsite.us-east-1.elb.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
但是,根据123-reg,它会覆盖我对该域发送电子邮件的@ MX记录:
@ MX 300 mail1.mywebsite.com.
@ MX 400 mail2.mywebsite.com.
@ MX 500 mail3.mywebsite.com.
Run Code Online (Sandbox Code Playgroud)
我很难过,因为这两个看起来都很合理,我没想到CName会以这种方式优先于MX.
关于如何进行的任何想法?我认为必须有另一种方法来设置MX记录,但不知道如何.
我目前正试图解决我们商店的电子邮件设置问题。到目前为止,我们使用 G Suite 处理与我们域相关的所有电子邮件abc.com。
#历史:#
我们的 WooCommerce 商店利用wp_mail()PHP-Mail 功能来发送我们的网站托管商发送的交易电子邮件(例如收到的订单、创建的帐户等)。当我们面临越来越多的电子邮件被发送到我们的客户垃圾邮件文件夹时,我们决定转向 SMTP 提供商。
# 新设置:#
我们为 Wordpress安装了WP SMTP 邮件插件,并选择 Sendgrid 作为 SMTP 提供商。我们按照说明操作并能够连接所有三个:我们的 WooCommerce 商店、WP Mail SMTP 和 Sendgrid。
# 问题: #
现在我们已经运行了新的设置,事情似乎有些混乱。我读到混合 .mx 的 MX 记录设置是不允许/不好的做法abc.com。但这正是我所做的 - 我必须做的 - 使 Sendgrid 和 G Suite 都能正常工作。
尽管Sendgrid在其活动仪表板中列出了来自shop@abc.com 的出站电子邮件,但实际的电子邮件是由Gmail 的默认 DKIM 域密钥:签名的,这不应该是这种情况,对吧?d=*.gappssmtp.com
# 目标:#
我有一个使用Exim4的股票Debian Etch系统.这些域主要是本地的,但也有一些是远程的.要处理远程邮件的传递,我使用Debian配置文件:
/etc/exim4/hubbed_hosts
Run Code Online (Sandbox Code Playgroud)
此文件列出要传递到的域名和远程MX计算机.例如:
example.org: mx.example.com
example.com: mx2.example.com
Run Code Online (Sandbox Code Playgroud)
查看exim4配置文件,我看到这个使用如下:
hubbed_hosts:
debug_print = "R: hubbed_hosts for $domain"
driver = manualroute
domains = "${if exists{CONFDIR/hubbed_hosts}\
{partial-lsearch;CONFDIR/hubbed_hosts}\
fail}"
route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
transport = remote_smtp
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我正在使用的一些主机需要将其邮件传递到非标准端口.不幸的是,如果我尝试将其更改为包含端口,则Debian hubbed_hosts文件不起作用:
example.org: mx1.example.org:2525
example.com: 1.2.3.4.2525
Run Code Online (Sandbox Code Playgroud)
是否可以动态允许指定端口?
这是一个我确定很容易解决的问题,但我一整天都在喋喋不休.
我正在为客户开发一个新的网站.该网站位于(这是一个例子)website.com.我有一个PHP表单脚本,通过电子邮件将访问者的请求发送到requests@website.com.
当我在不同域上的登台服务器上编码时,一切正常.当我将它移动到website.com时,邮件消息从未到达.Web服务器位于具有主要ISP的虚拟主机上.
以下是我从那时起学到的东西:我的客户端的邮件服务器是Microsoft Exchange,位于办公室的物理盒子上.每当外界人士通过电子邮件request@website.com时,邮件就会到达. 但是,如果Web服务器发送到相同的电子邮件地址,则每次都会失败.这不是 PHP问题.我将shell安全地保存到Web服务器,并使用sendmail和UNIX邮件应用程序对其进行了测试.我也通过从shell发送各种电子邮件帐户来测试它.我可以给自己发电子邮件,例如,在website.com域名中没有人.
简而言之,当我登录website.com时,发送邮件至requests@website.com,user@website.com,alother_user@website.com全部失败.所有其他地址工作正常.我发现这些丢弃的电子邮件被路由到网络服务器的"catchall"帐户,它们位于收件箱中.
我在website.com上做过MX查找.MX记录指向mailsec.website.com.我可以telnet到mailsec.website.com端口25并查看SMTP服务器.
在我看来,在发送邮件到requests@website.com时,website.com没有进行MX查找.我的理论是,它将域识别为本地域,看到没有"请求"用户帐户将其传递给,并将邮件丢弃到catchall帐户.我想要的是强制sendmail进行MX查找并将消息发送到Exchange服务器.我在这里结束了.我无法弄清楚如何做到这一点.
就此而言,我可能会离开这里,完全误解了这一点.互联网邮件和MX对我来说似乎总是一种黑色艺术,我的无知肯定在这个问题上显示出来.
我使用Heroku进行网站托管,使用Zerigo进行DNS管理.我正在尝试设置Google Apps电子邮件,但我无法添加最后一条MX记录(ASPMX5.GOOGLEMAIL.COM.),因为我已达到Zerigo允许的总记录数限制为10.如果我不添加最后一条记录会有关系吗?
我更像是一个程序员而不是服务器大师,所以任何帮助都非常感谢!
出于SEO原因转发域名 - >
使用第三方托管的NewDomain.com需要指向当前托管的网站CurrentDomain.com.我知道我需要......
1)具体调整NewDomain.com DNS A记录
2)调整NewDomain.com DNS MX记录
3)将301重定向添加到CurrentDomain.com上托管的.htaccess文件,以便将所有对NewDomain的请求转发到CurrentDomain.com.
RewriteEngine On
RewriteCond %{HTTP_HOST} NewDomain.com$
RewriteRule ^(.*)$ http://CurrentDomain.com/$1 [R=301,L]
问题:
还有什么需要做的?
1)缺少什么?
2)是否应该进行其他DNS更改?如果是的话,在哪里?
3)如果我不希望邮件发送到NewDomain,MX记录是否指向mail.CurrentDomain.com?
4)是否有更好的.htaccess文件?
java中有一个库可以从底层服务器获取准确的DNS信息吗?
我不仅对IP到DNS映射感兴趣,还对其他记录感兴趣:A、AAAA、MX、NS、SOA、RRSIG 等。
我正在构建一个程序来列出域的所有MX记录.它起初似乎工作正常,但在与在线工具http://mxtoolbox.com/进行比较后.MXToolbox可以有程序无法获取MX记录的域.
我不确定是什么原因或任何需要的配置.
非常感谢;
这是我的代码.
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Hashtable;
public class DNSLookup
{
private InitialDirContext iDirC;
public DNSLookup ()
{
Hashtable<String, String> env = new Hashtable<String, String>();
//env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
//env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.dns.DnsContextFactory");
//env.put(Context.PROVIDER_URL, "dns://google.com");
// get the default initial Directory Context
try {
iDirC = new InitialDirContext(env);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void lookup (String host, String …Run Code Online (Sandbox Code Playgroud) 我最近采用VPS(Ubuntu 12.04)来托管一些网站(带域名),最近还设置了Postfix/Dovecot作为网站的邮件服务器.名称服务器记录指向我的注册商的名称服务器.
我有几个域(domain1.com,domain2.com,domain3.com),其A记录指向我的VPS的IP,我已经为apache设置了基于名称的虚拟主机.
我想,一旦设置正确,我就可以在电子邮件客户端上输入mail.domain1.com作为我的pop3/imap/smtp邮件服务器,以及我的用户名和密码.对于其他域也可以是相同的.
有人可以告诉我正确的A和MX DNS记录应该是什么以及我应该如何在我的vps和postfix/dovecot的设置中设置我的主机名?
例如,我已将我的vps主机名设置为domain1.com,我将其放在postfix/dovecot配置中,但是想知道我是否应该放置mail.domain1.com?我是否将mail,imap,pop,smtp的CNAME设置为指向MX记录或A记录,以便可以在所有这些记录中访问服务器?
非常感谢您提供的任何帮助:)
我正在尝试将我的应用程序移植到.net核心。当前,它使用ArSoft.Tools nuget包查找mx记录,但是此包与core不兼容。
在核心中查找mx记录的最佳方法是什么?