免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4842 | 回复: 13

[C] a smtp sendmail client [复制链接]

论坛徽章:
0
发表于 2008-07-24 23:06 |显示全部楼层
源码:
http://mylibs.googlecode.com/svn/trunk/tools/sendmail/mail.c
http://mylibs.googlecode.com/svn ... il/LoginAccount.txt


Usage:
  mailClient [OPTION...] [FILE...]

Help Options:
  -?, --help                    Show help options

Application Options:
  -e, --addr=ADDR               mail address
  -a, --atta                    attachment flag
  -s, --signature=SIGNATURE     the signature file add to mail


example:

Shell:~/mylibs/tools/sendmail >: mailClient -s $HOME/.signature LoginAccount.txt
check files:
    /home/user/.LoginAccount.txt: OK
    /home/user/.signature: OK
    LoginAccount.txt: OK
Recv: [Thu Jul 24 22:55:57 2008] Result=220 smtp.qq.com ESMTP QQMail Ver 2.2
Send: [Thu Jul 24 22:55:57 2008] CMD=EHLO smtp.qq.com
Recv: [Thu Jul 24 22:55:57 2008] Result=250-smtp.qq.com
250-PIPELINING
250-SIZE 52428800
250-AUTH LOGIN
250-AUTH=LOGIN
250 8BITMIME
Send: [Thu Jul 24 22:55:57 2008] CMD=AUTH LOGIN
Recv: [Thu Jul 24 22:55:57 2008] Result=334 VXNlcm5hbWU6
Send: [Thu Jul 24 22:55:57 2008] CMD=********
Recv: [Thu Jul 24 22:55:57 2008] Result=334 UGFzc3dvcmQ6
Send: [Thu Jul 24 22:55:57 2008] CMD=********
Recv: [Thu Jul 24 22:55:58 2008] Result=235 Authentication successful
Send: [Thu Jul 24 22:55:58 2008] CMD=MAIL FROM:<No.0023@qq.com>
Recv: [Thu Jul 24 22:55:58 2008] Result=250 Ok
Send: [Thu Jul 24 22:55:58 2008] CMD=RCPT TO:<No.0023@gmail.com>
Recv: [Thu Jul 24 22:55:58 2008] Result=250 Ok
Send: [Thu Jul 24 22:55:58 2008] CMD=DATA
Recv: [Thu Jul 24 22:55:58 2008] Result=354 End data with <CR><LF>.<CR><LF>
Send: [Thu Jul 24 22:55:58 2008] CMD=From:No.0023@qq.com
To:No.0023@gmail.com
Subject:LoginAccount.txt
Mime-Version: 1.0
Send: [Thu Jul 24 22:55:58 2008] CMD=Content-Type: multipart/mixed;Boundary="===== Baby, I love you. ^-^ ====="

Send: [Thu Jul 24 22:55:58 2008] CMD=--===== Baby, I love you. ^-^ =====
Content-Type: text/plain; charset="utf-8";
Content-Transfer-Encoding: base64

Send: [Thu Jul 24 22:55:58 2008] CMD=

split_base64 ...start
split_base64 ...done
Send: [Thu Jul 24 22:55:58 2008] CMD=

Send: [Thu Jul 24 22:55:58 2008] CMD=--===== Baby, I love you. ^-^ =====
Content-Type: text/plain; charset="utf-8";
Content-Transfer-Encoding: base64

Send: [Thu Jul 24 22:55:58 2008] CMD=

split_base64 ...start
split_base64 ...done
Send: [Thu Jul 24 22:55:58 2008] CMD=

Send: [Thu Jul 24 22:55:58 2008] CMD=

--===== Baby, I love you. ^-^ =====--
Send: [Thu Jul 24 22:55:58 2008] CMD=
.
Recv: [Thu Jul 24 22:55:58 2008] Result=250 Ok: queued as
Shell:~/mylibs/tools/sendmail >:


使用SMTP协议发送邮件,使用AUTH LOGIN登录服务器,
命令行程序,发送文件挺方便的,各位瞧瞧...

论坛徽章:
0
发表于 2008-07-25 08:48 |显示全部楼层
mark一下,以后看看

论坛徽章:
0
发表于 2008-07-25 10:26 |显示全部楼层
有意思,看看

论坛徽章:
0
发表于 2008-07-25 11:36 |显示全部楼层

  1. Rigel:/home/c # cc -Wall -W $(pkg-config --cflags --libs glib-2.0) -o mailClient
  2. /usr/lib/gcc/i586-suse-linux/4.1.0/../../../crt1.o: In function `_start':
  3. init.c:(.text+0x18): undefined reference to `main'
  4. collect2: ld returned 1 exit status
复制代码


哪位大哥帮我看看是什么问题

[ 本帖最后由 KLL 于 2008-7-25 11:40 编辑 ]

论坛徽章:
0
发表于 2008-07-25 12:48 |显示全部楼层
原帖由 KLL 于 2008-7-25 11:36 发表

Rigel:/home/c # cc -Wall -W $(pkg-config --cflags --libs glib-2.0) -o mailClient
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../crt1.o: In function `_start':
init.c.text+0x1: undefined refer ...



换成gcc试试,检查glib-2.0

论坛徽章:
0
发表于 2008-07-25 14:26 |显示全部楼层

  1. Rigel:/home/c # pkg-config --cflags --libs glib-2.0
  2. -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include  -L/opt/gnome/lib -lglib-2.0  

  3. Rigel:/home/c # find / -name glib-2.0 -print
  4. /opt/gnome/lib/glib-2.0
  5. /opt/gnome/share/glib-2.0
  6. /opt/gnome/include/glib-2.0

  7. Rigel:/home/c # gcc -Wall -W $(pkg-config --cflags --libs glib-2.0) -o mailClient
  8. /usr/lib/gcc/i586-suse-linux/4.1.0/../../../crt1.o: In function `_start':
  9. init.c:(.text+0x18): undefined reference to `main'
  10. collect2: ld returned 1 exit status
复制代码


新手,还望大哥赐教!

论坛徽章:
0
发表于 2008-07-25 15:39 |显示全部楼层
gcc -Wall -W $(pkg-config --cflags --libs glib-2.0) -o mailClient mail.c

论坛徽章:
0
发表于 2008-07-25 16:37 |显示全部楼层

  1. ...
  2. /tmp/ccQcDx67.o: In function `login':
  3. mail.c:(.text+0xaad): undefined reference to `g_base64_encode'
  4. mail.c:(.text+0xb4f): undefined reference to `g_base64_encode'
  5. /tmp/ccQcDx67.o: In function `split_base64':
  6. mail.c:(.text+0x1376): undefined reference to `g_base64_encode'
  7. collect2: ld returned 1 exit status
复制代码


还望大哥指点!

论坛徽章:
0
发表于 2008-07-25 17:16 |显示全部楼层
真奇怪,试试把这句改成:

g_string_append(s,  g_base64_encode((guchar *)user, strlen(user))); -->
g_string_append(s,  g_base64_encode((const guchar *)user, strlen(user)));

论坛徽章:
0
发表于 2008-07-25 18:25 |显示全部楼层
原帖由 23号 于 2008-7-25 17:16 发表
真奇怪,试试把这句改成:

g_string_append(s,  g_base64_encode((guchar *)user, strlen(user))); -->
g_string_append(s,  g_base64_encode((const guchar *)user, strlen(user)));


改了,还是一样的;
这个函数 g_string_append() 是在哪定义的?
是我的 glib.h 有问题吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP