用linux脚本自动发送和收取邮件
1.命令行模式下的发送邮件
1.1 安装sendemail 在Ubuntu下可以用新立得软件包管理器搜索安装,或者在终端运行:
sudo apt-get install sendemail
建议在安装前先安装另外两个包:libio-socket-ssl-perl, libnet-ssleay-perl.
1.2 使用sendemail和举例 如果你想用你的邮箱christ@gmail.com发送邮件到buddha@qq.com,在终端输入:
sendemail -s smtp.gmail.com -f christ@gmail.com -t buddha@qq.com -u hello -m "A hello from Christans to buddhists via gmail" -xu christ -xp password -o tls=auto
解释:
-s smtp.gmail.com 指定服务器域名,邮件发送一般通过SMTP协议实现,其域名一般为smtp.***.com,比如qq邮箱的服务器为smtp.qq.com,163邮箱则为smtp.163.com
-f christ@gmail.com指定发送邮箱地址
-t buddha@qq.com 指定目的邮箱地址
-u hello 邮件标题
-m "A hello from Christans to buddhists via gmail" 邮件正文,较长的正文可以先存在文本文件中,不妨命名为mail.txt,然后换用-o message-file=mail.txt
-xu christ 指定邮箱用户名,即邮箱地址@之前的部分
-xp password 指定发送邮箱的密码
-o tls=auto 加密方式在none, tls, ssl中自动选择
如果想在邮件中粘帖附件:
-a attachment_file1 attachment_file2 attachment_file3
2.命令行模式下的收取邮件...
linux权限
755 代表用户对该文件拥有读,写,执行的权限,同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组人员权限一样. 777代表,user,group ,others ,都有读写和可执行权限. 在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限. 例如我用ls -l命令列文件表时,得到如下输出:
从第二个字符起rw-是说用户apple有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权.这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个html文件,不必运行.这在Novell的directory services之前很先进. 读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1.所以,上面的例子中的rw-r--r--用数字表示成644. 反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限. 再多说一句.我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读.结果是:
如果用命令chmod 777 tt.htm,结果是:
任何人都有读、写、运行三项权限.
解决安装ubuntu时卡在"正在探测文件系统"
安装前如果是硬盘安装就打开终端,输入:
sudo umount -l /isodevice
如果是光盘安装就打开终端,输入:
sudo umount -l /cdrom
可以解决这个问题.
解决Fatal error Class...
出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib). 在Windows下的解决办法是:
1、修改php配置文件: 在php.ini文件中,将extension=php_zip.dll前面的分号";"去除;(如果没有,请添加extension=php_zip.dll此行并确保php_zip.dll文件存在相应的目录),然后同样在php.ini文件中,将:
zlib.output_compression = Off ;
改为:
zlib.output_compression = On ;
2、重启Apache服务器 在Unix/Linux下的解决办法:
安装php的zip模块 在Linux下没有php_zip.dll这个文件(有也不会起作用的),所以需要重新编译一下php的zip模块.具体安装方法如下:
cd /usr/src
wget http://pecl.php.net/get/zip
tar -zxvf zip
cd zip-1.x.x
phpize
./configure
make
sudo make instal
其中, 在最后使用make install命令的时候,可能需要用到root的权限,所以建议使用sudo来运行.安装完之后,屏幕上会提示zip.so的位置.然后将其记录下来,如:/usr/local/lib/php/extensions/zip.so.
修改php配置文件 使用root权限修改php.ini(通常可能会在 /usr/local/lib/文件夹下,不过视当初安装php而定,可以通过phpinfo()来查看),增加:
extension = /usr/local/lib/php/extensions/zip.so
然后同样在php.ini文件中:
zlib.output_compression = Off ;
改为:
zlib.output_compression = On ;
最后别忘了重启一下:
service httpd...
cp omitting directory 的解决办法
linux下面执行cp命令时提示如下信息:
cp: omitting directory
可以用下面的办法来解决:
cp -r orginal_file new_file
C preprocessor "/lib/cpp"...
原因: 缺少包安装linux-kernel-headers. 解决: 有桌面系统进入yast2 搜索linux-kernel-headers安装. 没有桌面系统去http://rpm.pbone.net/ 搜索下载rpm安装. 下载地址:
ftp://ftp.pbone.net/mirror/ftp.opensuse.org/distribution/11.2/repo/oss/suse/noarch/linux-kernel-headers-2.6.31-3.4.noarch.rpm
rpm -ivh linux-kernel-headers-2.6.31-3.4.noarch.rpm
成功安装.