【软件的开发环境和资源】
宿主机 :fedora 10
目标板 :BCM7466
交叉编译工具:mipsel-linux-gcc , mipsel-linux-ar , mipsel-linux-ranlib , mipsel-linux-strip
要实现一个邮件收发客户端,需要下载下面4个文件:
mutt-1.5.21.tar.gz
下载地址:http://www.mutt.org/download.html
openssl-1.0.0d.tar.gz
下载地址:http://www.openssl.org/source/
msmtp-1.4.24.tar.bz2
下载地址:http://sourceforge.net/projects/msmtp/files/msmtp
ncurses-5.6.tar.gz
下载地址:http://www.gnu.org/s/ncurses/
【软件的编译】
openssl 交叉编译步骤:
配置编译脚本
./config no-sse2 no-asm shared --prefix=/usr/local/mipsel_openssl
创建交叉编译后目标的生成目录
mkdir /usr/local/mipsel_openssl
修改生成的Makefile文件中的 CC , AR , RANLIB
CC = mipsel-linux-gcc
AR = mipsel-linux-ar
RANLIB = mipsel-linux-ranlib
编译
make
安装
make install
msmtp 交叉编译步骤:
配置编译脚本
./configure --host=mipsel-linux --with-ssl=no --with-libidn=no --with-gnome-keyring=no CC=mipsel-linux-gcc
编译
make
libncurses 交叉编译步骤:
配置编译脚本
./configure --prefix=/usr/local/mipsel_ncurses CC=mipsel-linux-gcc --host=mipsel-linux
创建交叉编译后目标的生成目录
mkdir /usr/local/mipsel_ncurses
编译
make
安装
make install
安装之后在 /usr/local/mipsel_ncurses 目录下会生成 bin/ 、include/ 、lib/ 、man/ 、share/ 5个目录,
其中lib目录下默认生成的是静态库。
mutt 交叉编译步骤:
配置编译脚本(注意,要打开mutt自带的邮件接收功能需要configure的时候带上参数 --enable-pop)
./configure --prefix=/usr/local/mipsel_mutt --host=mipsel-linux --with-curses=/usr/local/mipsel_ncurses --enable-pop CC=mipsel-linux-gcc
创建交叉编译后目标的生成目录
mkdir /usr/local/mipsel_mutt
修改 ./doc/ 目录下的 Makefile 文件,将 CC AR RANLIB STRIP 修改为宿主机下的gcc , ar , ranlib , strip (原先为 mipsel-linux-gcc ...)
编译
make
安装
make install
【软件的配置】
将 /usr/local/mipsel_openssl/lib 目录下载到目标板上 /mnt 目录,执行下面的命令,导出openssl库的路径:
export LD_LIBRARY_PATH=/mnt/mipsel_openssl/lib:$LD_LIBRARY_PATH
将 msmtp 下载到目标板目录 /mnt,使用 --version 参数查看配置文件的目录:
./msmtp --version
msmtp version 1.4.24
Platform: mipsel-unknown-linux-gnu
TLS/SSL library: none
Authentication library: built-in
Supported authentication methods:
plain cram-md5 external login
IDN support: disabled
NLS: disabled
Keyring support: none
System configuration file name: /usr/local/etc/msmtprc
User configuration file name: /root/.msmtprc
Copyright (C) 2010 Martin Lambers and others.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
由此看出,默认的系统配置文件目录在 /usr/local/etc/msmtprc
创建目录 /usr/local/etc ,创建文件 msmtprc ,编辑内容
mkdir -p /usr/local/etc
touch /usr/local/etc/msmtprc
vi /usr/local/etc/msmtprc
account default
host smtp.126.com
port 25
from guwenjunbaobao@126.com
auth login
tls off
user guwenjunbaobao@126.com
password ******
logfile /var/log/mmlog
将 mutt 下载到目标板目录 /mnt 后,使用 -v 参数查看配置文件目录
# ./mutt -v
Mutt 1.5.21 (2010-09-15)
Copyright (C) 1996-2009 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.
System: Linux 2.6.18-7.1 (7405d0-smp)
ncurses: ncurses 5.6.20061217 (compiled with 5.6)
Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL -USE_SETGID -USE_DOTLOCK -DL_STANDALONE +USE_FCNTL -USE_FLOCK
+USE_POP -USE_IMAP -USE_SMTP
-USE_SSL_OPENSSL -USE_SSL_GNUTLS -USE_SASL -USE_GSS +HAVE_GETADDRINFO
+HAVE_REGCOMP +USE_GNU_REGEX
+HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
+HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
+CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME -CRYPT_BACKEND_GPGME
-EXACT_ADDRESS -SUN_ATTACHMENT
+ENABLE_NLS -LOCALES_HACK +HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR
+HAVE_ICONV -ICONV_NONTRANS -HAVE_LIBIDN +HAVE_GETSID -USE_HCACHE
-ISPELL
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/usr/local/mipsel_mutt/share/mutt"
SYSCONFDIR="/usr/local/mipsel_mutt/etc"
EXECSHELL="/bin/sh"
-MIXMASTER
To contact the developers, please mail to <mutt-dev@mutt.org>.
To report a bug, please visit http://bugs.mutt.org/.
由此,可以看出配置文件的目录是 /usr/local/mipsel_mutt/etc
将宿主机上的Muttrc 配置文件进行修改,然后下载到目标板上的目录 /usr/local/mipsel_mutt/etc
修改的地方是:
set sendmail="/mnt/msmtp"
set use_from=yes
set realname="guwenjunbaobao@126.com"
set from=guwenjunbaobao@126.com
set editor="vi"
将 mutt 下载到目标板目录 /mnt 后运行,如果报错误:
Error opening terminal: vt102.
解决方法:
(目标板)
export TERM=vt102
export TERMINFO=/usr/share/terminfo
mkdir -p /usr/share/terminfo/v
现在需要复制我们宿主机 fedora 10 上的 vt102文件
(宿主机)
cd /usr/share/terminfo/v
ls -l
lrwxrwxrwx 1 root root 32 2011-06-23 19:31 vt102 -> ../../../../lib/terminfo/v/vt102
可以看出,这个目录下的 vt102 只是个软链接,实际的文件在上面给出的位置,将这个实际的vt102文件下载到目标板上的 /usr/share/terminfo/v 目录下
【软件的使用方法】
使用mutt发送邮件的方法是:
./mutt -s 邮件标题 收件人邮箱地址 -a 附件所在的路径 < 邮件正文的文件所在的路径
如下:
./mutt -s "hello" 251338052@qq.com -a /mnt/file1.jpg < /mnt/content.txt
使用mutt接收邮件的方法是:
./mutt 打开图形界面
q:Quit d:Del u:Undel s:Save m:Mail r:Reply g:Group ?:Help
---Mutt: /var/mail/root [Msgs:0]---(date/date)--------------------------(all)---
按 c 键打开邮件服务器输入:
Open mailbox ('?' for list):
Open mailbox:
输入格式为 pop://邮件账户名:密码@pop服务器域名
如下:
pop://guwenjunbaobao@126.com:******@pop.126.com