免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5009 | 回复: 11
打印 上一主题 下一主题

[Mail] 想在本地搭设7×24的接收海外服务器上的邮件,客户端不需要到海外服务器上接收邮件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-14 13:24 |只看该作者 |倒序浏览
有个邮件服务器搭设在海外,国内客户端接收邮件时经常会卡,或是经常很长时间下载不到邮件。
如果在本地搭设一个服务器用于7×24的接收海外服务器上的邮件,国内只需要在本国内的服务器上接收邮件即可。在一定程度上缓解了访问海外速度缓慢的问题
这样的需求,不知道如何实现?
或是有一些思路。希望BBS上的朋友们能帮忙提供办法

论坛徽章:
0
2 [报告]
发表于 2009-09-14 13:27 |只看该作者
你去找一下windows上面的很多这样的小软件。还不用这么麻烦。

论坛徽章:
0
3 [报告]
发表于 2009-09-15 12:43 |只看该作者
架台linux服务器, 用fetchmail收取海外邮件的邮件然后分发。

所有用户的邮件都在海外服务器上,由海外服务器管理方设置。

本地用 fetchmail 去收取海外服务器上的邮件,统一收取所使用的帐号由海外服务器管理方提供,收下来后自动分发。
或是直接 fetchmail 里添加每个用户的收取帐号,并分别指定存到指定位置。

本地服务器上依邮件名建立用户帐号和密码,并在各用户电脑上添加收取帐号, 使用本地服务器。


[root@mail log]# less /etc/procmailrc
#!/bin/bash
#
# Commont: procmail Configuration
#
# file: /etc/procmailrc
#

ORGMAIL=/var/usermail/$LOGNAME
MAILDIR=$HOME/
Sendmail=/usr/sbin/sendmail
VERBOSE=off
PATH=/bin:/sbin:/usr/bin:/usr/sbin/:/usr/local/bin:/usr/local/sbin
LOGFILE=/var/log/procmail.log
#LOG="--- Logging for $LOGNAME, "
SHELL=/bin/sh







[root@mail log]# less /home/user1/.fetchmailrc
#dont bounce to sender if undeliverable

set no bouncemail
#set no spambounce

#set logfile /var/log/fetchmail.log

#set postmaster ""

# dont add anything to the headers
#set invisible

# set some defaults
defaults proto pop3

# 使用海外方提供的统一收取帐号收取邮件并自动分发
poll pop3.cn.mydomain.org
        localdomains cn.mydomain.org
        user "allusermail"
        pass "thisismypassword"
        is esr * fetchall

# 只收取用户 user1 的邮件并保存到 /var/usermail/user1 这个文件(见 procmail设定位置)
poll pop3.cn.mydomain.org
        user "user1"
        pass "user1password"
        is user1

论坛徽章:
0
4 [报告]
发表于 2009-09-15 12:47 |只看该作者
漏了重要的一步,呵呵,还没收邮件呢。

加到定时任务里去

[root@mail log]# crontab -e

# 每隔5分钟收取一次用户邮件并记录到/var/log/fetchmail.log,使用的配置文件是  /home/user1/.fetchmailrc

0-59/5 * * * * /usr/bin/fetchmail -f '/home/user1/.fetchmailrc' >> /var/log/fetchmail.log

论坛徽章:
0
5 [报告]
发表于 2009-09-16 11:35 |只看该作者
非常感谢你的帮助。看了你的你的描述,我看到有一个细节就是需要在海外有一个统一接收的账户,然后在本地架设的服务器上分配新的账户。那么比如使用outlook收发信件,会不会和之前直接从海外服务器上收发有明显的区别,比如说,发信时,使用的邮箱地址等信息会有变更。下来我会同时搭设一个服务器测试一下看看。

论坛徽章:
0
6 [报告]
发表于 2009-09-16 12:45 |只看该作者
原帖由 WongMokin 于 2009-9-15 12:43 发表
架台linux服务器, 用fetchmail收取海外邮件的邮件然后分发。

所有用户的邮件都在海外服务器上,由海外服务器管理方设置。

本地用 fetchmail 去收取海外服务器上的邮件,统一收取所使用的帐号由海外服务器 ...


其实我一直都没有搞明白fetchmail在什么场合使用,干嘛要那么麻烦,原来如此,这倒是一个办法,

论坛徽章:
0
7 [报告]
发表于 2009-09-21 20:28 |只看该作者

学习学习

学习学习学习学习

论坛徽章:
0
8 [报告]
发表于 2009-09-22 10:52 |只看该作者
原帖由 littlebandit 于 2009-9-16 11:35 发表
非常感谢你的帮助。看了你的你的描述,我看到有一个细节就是需要在海外有一个统一接收的账户,然后在本地架设的服务器上分配新的账户。那么比如使用outlook收发信件,会不会和之前直接从海外服务器上收发有明显 ...



以下供参考,同时欢迎指正并给出更完善的方法。


主服务器架设在香港,域名及MX全指定到香港主服务器IP,用户帐号设定在本地,本地服务器设置同样是同一个域名,也可以是子域名。

大概如下:

香港主服务器 域名 @mydomain.org  固定IP,外部可ping到域名及mx记录等等。
本地服务器域名 @mydomain.org  可用ADSL拨号上网 / 可用固定IP地址,外部ping不到域名,可上网。

注:本地服务器域名也可以再行添加 @cn.mydomain.org , 并由@mydomain.org 服务商添加 @cn.mydomain.org 指向到本地服务器互联网固定IP

香港主服务器上不单独设置各个用户的帐号信息, 只负责将发往@mydomain.org 的邮件存起来,由本地服务器 fetchmail 去收取。

技术参考: 香港主服务器上将发到@mydomain.org的邮件缓存到 /var/usermail/mydomain 这个文件, 然后设定一个用户帐号名mymail,指定收取 /var/usermail/mydomain 里的内容。
                 
                本地服务器建有本地用户分别对应邮件名字,用户名与邮件名字一样(用别名也可),然后用香港主服务器 mymail 这个用户帐号
去收取 pop3.mydomain.org 上的邮件,邮件拉进来后会自动分发(见 .fetchmailrc 的 is esr * fetchall 这一行) , 存到 /var/usermail/用户名 (见 /etc/procmailrc )

                各用户电脑上依本地服务器上的用户帐号和密码,从本地服务器上收取邮件。outlook express  , 和普通邮件帐号设定一样。


关于发送:
      通过本地服务器发送的邮件,如果是动态IP,有可能会被对方的邮件主机或垃圾邮件过滤器所拒绝,因为查询不到你的本地服务器,呵呵。

可以采取的办法:
      1) 由香港主服务器提供一个共用帐号smtpuser,在各用户电脑outlook express中使用该smtp帐号来发送邮件。
          Outlook Express中设置  pop3 为 192.168.0.1 (本地) ,
                                               smtp为 smtp.mydomain.org (香港),smtp使用密码验证,用户名smtpuser,密码xxxxx。
                                               email address / reply address   本地用户邮箱名@mydomain.org  (香港主服务器须设置允许 @mydomain.org 转发邮件)



      2) 本地服务器有可在互联网上查询到的子域名及mx记录,则可使用该子域名,例如@cn.mydomain.org,设置与普通邮箱帐号一样。

          注意!! 此种类型的,发往 @mydomain.org 的会存在香港主服务器, 发往 @cn.mydomain.org 的则直接发到本地服务器。
          不需要本地服务器收取 @cn.mydomain.org 的, @cn.mydomain.org 的mx 记录就要指到香港主服务器。

          Outlook Express中设置  pop3 为 192.168.0.1 (本地) ,
                                               smtp为 192.168.0.1 (本地),
                                               email address / reply address   本地用户邮箱名@mydomain.org 或 @cn.mydomain.org
         

      3) 本地服务器没有固定IP,用动态DNS,由@mydomain.org服务商动态映射 IP到 @cn.mydomain.org,
          然后其他设置就同 2) 一样。
         
          技术实现:本地服务器定时将ip 上传到香港主服务器某指定位置如 /var/ddns/cn-mydomain-ip,然后香港主服务器自动抓取该文件中的IP并修改域名记录
          注意!! 因为是动态IP,当本地服务器ip变更未能及时更新到香港服务器时,发往 @cn.mydomain.org 的邮件有可能丢失,所以最好  mx 记录还是香港主服务器。

论坛徽章:
0
9 [报告]
发表于 2009-09-22 10:59 |只看该作者
原帖由 littlebandit 于 2009-9-16 11:35 发表
非常感谢你的帮助。看了你的你的描述,我看到有一个细节就是需要在海外有一个统一接收的账户,然后在本地架设的服务器上分配新的账户。那么比如使用outlook收发信件,会不会和之前直接从海外服务器上收发有明显 ...


哈哈, 上面没有直接回复, 看晕了吧,不好意思。

区别是有的, 收就没问题,发送邮件么, 别人收得到的,从显示上没有异常, 但邮件heads 里 域名和ip会对应不上,有可能会被当成垃圾邮件主机、无法查询到的主机, 导致对方邮件主机拒绝或过滤你的邮件。

这部分请参考上面回复的 “关于发送” 部分。

论坛徽章:
0
10 [报告]
发表于 2009-09-22 11:04 |只看该作者
原帖由 eddiechen 于 2009-9-16 12:45 发表


其实我一直都没有搞明白fetchmail在什么场合使用,干嘛要那么麻烦,原来如此,这倒是一个办法,


领导需要你将他各个邮箱中的邮件都统合到一个信箱里时, fetchmail 就很好用啊,不需要在他电脑上添加那么多个帐号了。

很多免费邮箱不也提供了这样的功能么,呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP