可可熊D窝

Keep it simple, stupid


  • 首页

  • 关于

  • 标签182

  • 分类8

  • 归档359

  • 搜索

局域网邮件服务器配置

发表 2009-03-16 | 分类 Linux | 评论数:
| 字数: 706 | 阅读 ≈ 1 分钟

首先安装必要的软件:sendmail,dovecot
sendmail只支持SMTP发信,dovecot可以支持POP3,IMAP等。

把自己的机器名改为一个你想使用的域名,例如coco.com(vi /etc/sysconfig/network)。配置sendmail,修改以/etc/mail/sendmail.mc下一行:

-O DaemonPortOptions=Port=smtp,Addr=127.0.0.1 , Name=MTA> 
+O DaemonPortOptions=Port=smtp,Addr=192.168.1.112 , Name=MTA

同时修改/etc/mail/access,添加:
Connect:192.168.1 RELAY

编辑/etc/mail/local-host-names文件,添加你想在内部使用的一个域名,如:
coco.com

这样局域网内的用户就可以使用你的SMTP了,别人在发邮件时在SMTP服务器地址中填写你的IP地址,或者域名(需要改更hosts中coco.com的指向)。帐户就直接使用Linux系统的用户,因为在一个公司使用,所以安全问题就不需要考虑了。

安装好后先测试sendmail,可以使用 mail -s ‘your subject’ somebody@coco.com命令来发邮件。也可以使用claws-mail等客户端来发邮件。

dovecot安装好后也很简单,启动后就可以使用POP3收邮件了。

Comments

草儿: 你老板是不是把你当成网管用了?

cocobear: 能做的都做!

折腾Archlinux

发表 2009-03-11 | 分类 Linux | 评论数:
| 字数: 1.2k | 阅读 ≈ 1 分钟

公司新拿来几台电脑,头让俺换一台用用,趁这个机会就想装个Archlinux试试,没想到折腾两天了,还是用不起来。

整个硬盘用ghost对拷了一下,Windows分区拷过去都正常,以前用的主Linux分区无法使用,以前这个分区就有问题,使用正常,但从Windows下无法访问,而且引导文件也放在另一个ext3分区上。

用光盘安装的Archlinux,300多M,base很快就安装好了,pacman也用的挺顺手,不过记得要加几个国内速度快一点的源,然后使用rankmirrors来重排一下源的顺序。不过在安装X的时候出问题了(我主板集成HD3200显卡),折腾了好久,手动改了几次xorg.conf文件,最后显卡驱动用xf86-video-ati,在xorg.conf文件里加上了1680x1050这个分辩率。好不容易(openbox+fbpanel+rox)启动后分辩率正常了,也可以自由切换到其它终端,但是安装ibus的时候又出问题了,使用的是yaourt,实在是折腾累了,浏览器里的字体也很不好看,uxvrt不好用,不能粘贴,不能用标签,字体怪怪的也不知道怎么改,问题一大堆啊,有点像刚用Fedora的时候,要真正能使用系统得折腾好久,但现在实在是懒得折腾了,看着人家漂亮的Archlinux桌面,只能叹息了。

俺自己的那台电脑更是郁闷,是Intel GMA 3100的显卡,本来说Linux应该支持挺好的,但在Archlinux里安装xf86-video-intel驱动后,X启动报错,如果使用vesa驱动能进入X,但是切换到终端再切换回X后就花屏了,昨天折腾了一晚上也不搞定,看来只能回到Fedora了。

不过话说回来,Archlinux速度确实挺快的,连启动X估计就10秒多点,Archlinux+openbox这样轻量级的组合确实不错,如果能在细节上完美些的话还真不想换回Fedora了。

切换到Windows下写的这篇文章,一会儿再整整Archlinux,不过俺自己那台机器要能让X在Archlinux上跑起来估计悬!

Comments

Amankwah: 能够折腾的日子,真的幸福,羡慕一下~

volans: 我靠,太巧了,我也在鼓捣arch,往t43上装……

草儿: 靠,终于见你露头了。 你上次说什么测试终端QQ是什么意思?又捣鼓出一个什么玩意儿?

Fung: 我也在用arch,第一次失败了,后来在不得不在CentOS下看了好几天的教程,现在忍不住手痒又装了,不过幸好这次成功了,我的是arch+fluxbox,nvidia的显卡,xorg.conf也是弄了半天,后来还是直接拷的centos里的,然后在那个基础上改的。终于还是成功了,挺高兴的,效果还不错。 一直知道你编程很牛,希望有机会能指点指点一下阿。。。能交个朋友不?

Amankwah: 草儿的空间木有了?

Amankwah: 我也在BenQ T131上装ARCH了……Gentoo在低配电脑上足够蛋疼,e17玩玩

关于发邮件的一些事

发表 2009-02-27 | 分类 互联网 | 评论数:
| 字数: 990 | 阅读 ≈ 1 分钟

今天配置一个Bug跟踪的工具,使用Sendmail发邮件时一直出错,先没仔细看,后来仔细看了下,在/var/log/maillog里面有出错提示:

451 DT:SPM mx4, 7lcQrLDL7iJgl6dJktVcJQ--.7531S2, please try again 1235720034 http://mail.163.com/help/help_spam_16.htm?ip=1038939298&hostid=mx4&time=1235720034

在上面的链接中会有详细的提示,这个错误451:

发信人短期内发送了大量信件,超过了网易的限制,该发件人被临时禁止发信。请检查是否有用户发送病毒或者垃圾邮件,并降低该用户发信频率。

郁闷啊,我才手动连着发了几封而已。还有不少地方需要注意。

还有如果直接使用sendmail向gmail发邮件会提示:

http://mail.google.cn/support/bin/answer.py?hl=en&answer=10336> 

'The IP you're using to send email is not authorized...'> 

In order to prevent spam, Gmail refuses mail when the sending IP address does not match the sending domain. To send mail from your server to Gmail, we suggest using the SMTP relay provided by your ISP. Please note that we are unable to whitelist IP addresses or otherwise make exceptions at this time.

还是gmail考虑的多些,gmail的垃圾邮件过滤确实做的也不错。

Comments

王硕: cocobear学长,我林晗烟。我想申请个友情链接。 你博客的链接我已经做好好久了,你可以查看:http://www.wangshuo2046.cn/?page_id=625 呵呵,不知道可不可以哈

发一个Python版的星际译王

发表 2009-02-26 | 分类 编程相关 | 评论数:
| 字数: 2.9k | 阅读 ≈ 3 分钟

sdcv-0.4.2版本的代码有3480行,而图形界面的星际译王更是有N多的代码,俺也写了一个就十几行的Python代码,速度当然比不上sdcv,能差十倍,不过,请注意,sdcv查一个单词是0.01秒,我这个是0.1秒,我不觉得有人能感觉出来差别。

其实我的核心是C语言写的,之所以在速度上没有sdcv快是没有做那么些优化,俺只写了80多行,而且还有不少代码是用作Python封装的。我以前写文章说过sdcv代码写的很麻烦,用C语言可以很简洁的写出来,现在确实做到了,只是结合了Python。我觉得这种模式挺不错,影响速度的核心使用C语言去写,然后主逻辑框架使用Python写,不仅效率不会受影响,开发的速度也提高了不少。(我这个例子Python并没做什么)

static PyObject * lookup(PyObject *self, PyObject *args)
{
    int fd;
    char *file_prefix;
    long file_size;
    long wc;
    char *word;

    char *data;
    const char *p;
    long index_size;
    int offset;
    int size;
    int flag = 0;
    unsigned char *buf;

    if (!PyArg_ParseTuple(args, "slls:lookup",
                &file_prefix, &file_size, &wc, &word)) {
        return NULL;
    }
    char file_name[256];
    strcpy(file_name, file_prefix);
    strcat(file_name, ".idx");
    if ((fd = open(file_name, O_RDONLY)) < 0) {
        printf("open failedn");
        return NULL;
    }
    data = (char *)mmap( NULL, file_size, PROT_READ, MAP_SHARED, fd, 0);
    p = data;
    int i;
    for (i=0;i<wc;i++) {
        index_size = strlen(p) + 1 + 2*sizeof(int);
        if (strcmp(word, p) == 0) {
            flag = 1;
        }
        if (flag == 1) {
            offset = ntohl(*(int *)(p + strlen(p) + 1));
            size   = ntohl(*(int *)(p + strlen(p) + 1 + sizeof(int)));
            //printf("offset=%dnsize%dn",offset,size);
            /*gzFile zfile;
            zfile = gzopen("./dic/stardict-langdao-ec-gb-2.4.2/langdao-ec-gb.dict.dz", "rb");
            gzseek(zfile, offset, SEEK_SET);
            buf = (unsigned char *)malloc(*size+1);
            memset(buf, '', size+1);
            gzread(zfile, buf, size);
            printf("%sn", buf);
            */
            close(fd);

            if ((fd = open("./dic/stardict-langdao-ec-gb-2.4.2/langdao-ec-gb.dict", O_RDONLY)) < 0) {
                return NULL;
            }
            lseek(fd, offset, SEEK_SET);
            buf = (unsigned char *)malloc(size+1);
            memset(buf, '', size+1);
            read(fd, buf, size);
            //printf("%sn",buf);
            close(fd);
            return Py_BuildValue("s", buf);
        }
        p += index_size;
    }

    return Py_BuildValue("s","");
}

static struct PyMethodDef lookup_methods[] = {
    {"lookup", lookup, 1, "lookup(file_prefix, file_size, wc, word)"},
    {NULL, NULL}
};

void initlookup()
{
    (void) Py_InitModule("lookup", lookup_methods);
}

使用C语言对Python进行扩展挺方便的,http://gashero.yeax.com/?p=38#id7这里有个不错的文档。
完了俺整理整理也放在google code上去。

上面的代码中dict文件需要是未gzip压缩过的,如果在压缩过的我使用被注释掉的那段代码在seek的时候速度很慢,又没办法用mmap,所以暂时就先只使用未压缩过的。

Comments

okidogi: 代码看起来有些晃眼睛…

草儿: 靠,手机看你的博客真费劲

shuge.lee: 倒是希望有个Ubiquity+sd for broswer或Lingoes+sd for desktop

昨天是我的生日

发表 2009-02-24 | 分类 Life | 评论数:
| 字数: 330 | 阅读 ≈ 1 分钟

老爸昨晚上打电话告诉我的。
我自己居然不记得,会不会有一天我都不记得自己出生年月了呢?

很难受,为什么会这样呢?
造化弄人!

Comments

可可熊: 呵呵,多谢楼上几位了。

wind: 再次很没诚意的补个生日快乐 哈哈 PS:这个留言栏中的字体我很喜欢,不过发出去的就没感觉了。

luguo: 晕~~生日快乐~~!

衣儿叁: 补一个祝福,看来到最后还是父母忘记不了自己的孩子。

dream: 生日快乐!虽然晚了些 :)

c: 原来是额小熊的生日啊,补一个快乐生日:)

草儿: 靠,占个SF祝coco生日快乐。 不好意思,过年的时候还在盘算着年后你是第一个过生日的,没想到真到了就给忘了。

volans: 紧跟着祝福!

justflyer: 迟到的祝福。 ~~~

1…131415…72
cocobear

cocobear

爱折腾的技术宅一枚

359 日志
8 分类
182 标签
RSS
GitHub E-Mail Twitter 豆瓣
友情链接
  • 王聪
  • 老大
0%
© 2007 – 2020 cocobear | 521k | 7:54
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v6.7.0
Hosted by GitHub Pages