我设置了一个Ubuntu 10.04 VPS来管理sub.example.com,我已经将Exim配置为使用来自Linode Library的 this tutorial发送电子邮件.这是有效的,但除了发送电子邮件,我意识到我需要一个非根电子邮件地址(admin@sub.example.com)转发给我(me@gmail.com).

我已经阅读了关于这个[1]的Exim文档,我并没有真正得到我应该做的事情(似乎期望读者已经知道要更改哪些文件以及某些指令的作用).从’09开始还有一个similar question,我无法分辨哪些(如果有的话)解决方案适用于我的情况或需要使用建议的行修改哪些文件.

TBH,如果有一个非常简单的方法可以在没有Exim的情况下执行此操作,我会感到高兴,这与我已经设置的方式通过Exim发送电子邮件不会发生冲突.我已经尝试修改/ etc / aliases无济于事.

您可能会告诉我,配置MTA非常新…请提前感谢.

[1]我显然无法链接到,因为这是我在ServerFault上的第一篇文章.我相信相关部分是第22章 – 重定向路由器.

在下面的解释中,我假设您按照您提到的URL中的说明并选择了“Internet服务器”.我还假设“localhost”是您的exim配置为识别为本地域的有效域名之一.

首先,你在/ etc / aliases中放置的格式应该是:

admin: me@gmail.com

您不需要在exim系统上运行newaliases,它只是作为期望更“类似sendmail”环境的应用程序的兼容层提供的. Exim在第一次读取它时会直接扫描/ etc / aliases文件的内容并缓存结果,如果有的话,记住它以便后续查找.它实际上并不像sendmail那样使用/etc/aliases.db文件.

编辑/ etc / aliases时,可以测试如何从命令行处理地址.在第一个示例中,我的系统未配置为处理管理员别名.它抱怨它不知道如何通过将其描述为无法传递来处理该地址:

[todd@tlyons /etc/exim4]$grep admin /etc/aliases
[todd@tlyons /etc/exim4]$exim -bt admin@localhost
R: system_aliases for admin@localhost
admin@localhost is undeliverable

在第二个示例中,我的系统已正确配置为处理管理员别名.说明如下:

[todd@tlyons /etc/exim4]$grep admin /etc/aliases
admin: me@gmail.com
[todd@tlyons /etc/exim4]$exim -bt admin@localhost
R: system_aliases for admin@localhost
R: dnslookup for me@gmail.com
me@gmail.com
    <-- admin@localhost
  router = dnslookup,transport = remote_smtp
  host gmail-smtp-in-v4v6.l.google.com [2001:4860:b007::1a] MX=5
  host gmail-smtp-in.l.google.com      [173.194.79.27]      MX=5
  host gmail-smtp-in-v4v6.l.google.com [209.85.225.27]      MX=5
  host alt2.gmail-smtp-in.l.google.com [74.125.45.27]       MX=20
  host alt3.gmail-smtp-in.l.google.com [173.194.66.27]      MX=30
  host alt4.gmail-smtp-in.l.google.com [173.194.65.27]      MX=40

第一个R:line是一个调试输出行,表示它正在使用“system_aliases”路由器处理电子邮件地址.它没有出来直接说出来,但确实在system_aliases路由器中找到了“admin”,并将其“扩展”为“me@gmail.com”.一旦exim将地址扩展到其他东西(或多个东西),它会通过路由器重新运行每个地址,寻找匹配.在上面的示例中,它通过路由器运行me@gmail.com地址并匹配“dnslookup”路由器.这意味着它确定需要使用SMTP将其发送到远程邮件服务器.其中一部分是查找gmail.com的MX记录,它已经显示并显示给你,看看它将如何尝试传递该邮件.

因此,要回答原始问题,您可能只是错误地输入了/ etc / aliases中的数据.左侧只是本地部分(即user@domain.com中的“user”),后跟冒号(:),后跟空格或制表符,后跟电子邮件地址(或逗号连接的电子邮件地址)交付给它.您不能将完整的电子邮件地址作为左侧(冒号前).

ubuntu – 配置Exim转发电子邮件的更多相关文章

  1. 关闭iOS原生MPVolumeView音频路由菜单

    我正在使用MPVolumeView允许用户在使用我的应用程序时控制他喜欢的音频路径.该代码显示了该视图:当用户点击音频路由按钮时,会出现一个带有可用选项的菜单.问题:显示音量视图的屏幕可能需要隐藏,因为我的应用程序处理各种事件,我想同时隐藏音频路由菜单我的问题:有没有人知道是否可以手动关闭MPVolumeView的音频路由选择菜单而无需用户按下取消按钮?解决方法在iOS8上,您可以使用以下使用私有API的代码

  2. ios – 如何告诉ABPeoplePickerNavigationController仅列出具有电子邮件地址的联系人?

    解决方法我不相信有办法让iOS进行这种过滤.我也是在代码中做的.请注意,您需要查找各种电子邮件地址–您必须遍历您可以获得的字典.使用它是一个PITA肯定–我以前做过–你必须小心不要有内存泄漏.我所做的就像你建议的那样–我自己遍历所有联系人,然后我用表格弹出一个视图,然后选择他们想要的人的名字.我保持一个关联,所以我知道什么地址与什么名称相关联,然后使用系统电子邮件框架,然后填充发送地址.

  3. iOS:使用蓝牙音频输出(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput)AudioSession

    >如果有可用的A2DP设备,我的音频路由将始终自动切换到kAudioSessionOutputRoute_BluetoothA2DP路由.如何防止此路线更改?我希望你们中的一些人可以帮助我解决这些问题.这对我对CoreAudio的整体理解,特别是AudioSession框架,真的有帮助.解决方法AudioSession是一项棘手的业务.1.BluetoothHFPaudiooutputisonlypossibleincaseofAudioSessionkAudioSessionCategory_PlayA

  4. Swift3.0 Swift2.3 获取IP地址 获取网关地址

    最近需要在Swift项目中获取路由器的网关地址,在网上找了半天的代码也没发现太多有价值的东西,而且大多都是OC代码,很少有Swift的相关代码,只找到了一个通过Swift代码获取设备IP的代码,最后实在没办法只能曲线救国了。下面上代码:思路就是把获取到的设备IP地址的最后一位手动修改为”1”,前面三位不需要修改,比如我的手机ip地址是192.168.31.212,所以网关地址就是192.168.31.1。最近苹果更新了Swift3.0,这里更新一下代码。

  5. Swift3.0服务端开发(二) 静态文件添加、路由配置以及表单提交

    今天博客中就来聊一下Perfect框架的静态文件的添加与访问,路由的配置以及表单的提交。也就是webroot的文件目录变地方了。后方的尾随闭包是对响应的处理。action的地址就是我们在服务器端配置的路由地址“127.0.0.1:8181/login”,而表单提交的方式是POST。

  6. Swift Web 开发之 Vapor - 路由二

    路由参数Vapor提倡使用类型安全的路由参数来接收数据,我们可以在路由方法中使用Swift类型来指定参数类型,Vapor会在内部解析并将参数返回给闭包以供使用,非常方便。Swift中处处有协议,路由参数也是如此,我们所见例子中的Int其实就是Vapor给实现了StringInitializable协议,当然String也已经默认实现。throw另外一大特性就是可以直接在路由中抛出异常,我们可以throw任何遵从Swift.Error协议的对象,当然Vapor已经为我们封装好了几个常用的Error来方便我们

  7. swift – Singleton模式和正确使用Alamofire的URLRequestConvertible

    如果是这样,我该如何设置经理的基础?此外,如果我使用这个管理器//这可以与上面显示的路由器结构一起工作?我是Alamofire图书馆的新手,迅速。然而,当您获得超过6或7例的情况下,这很快就会变得很快。首先,您的模型对象需要符合RouterObject协议。最后一个问题是您无法直接在Routerenum中存储baseURL或OAuthToken。但是,如果您只是使用默认会话触发网络,那么sharedInstance可能就足够了。

  8. Swift iOS9新联系人框架 – 如何仅检索具有有效电子邮件地址的CNContact?

    您不能编写自定义谓词来过滤联系人,正如文档所说:“请注意,Contacts框架不支持通用谓词和复合谓词”但是当然你可以“手动”完成它,我给你看一个使用快速枚举的例子:

  9. 如何在Swift中与ABPeoplePickerNavigationController选择联系人?

    如果你不这样做,就不会在课堂上尝试这些方法.从而:>当您调用ABRecordcopyValue时,您的示例方法引用了人.这是你的选择器控制器.我假设你的意思是引用人,ABRecordRef!

  10. swift – 使用Firebase登录时“访问钥匙串时出错”

    PS.对不起,如果我错过任何东西,这是我第一次发布.尝试打开项目目标的功能钥匙串共享.这对我有用KeychainSharing

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部