JSON如何被定义?在不同编程语言中如何应用?
在编程语言中经常使用的JSON是什么,如何被定义的?以及在包括C、C++、C#、Java、JavaScript、Perl、Python等不同编程语言中如何得到应用的?
Linux系统由于免费开源与安全性好的优点而备受喜爱。linux系统与windows系统在使用上是有区别,对于日常发送邮件,linux出现无法发送邮件或发送邮件失败的问题,那么在linux下如何发送邮件?
一、使用mail命令
mail命令是mailutils(On Debian)或mailx(On RedHat)包中的一部分,可以使用他在命令行里面发送消息。如果你的系统没有安装mail命令,可以使用下面的方式安装:
$ sudo apt-get install mailutils (On Debian)
# yum install mailx (On RedHat or CentOS)
使用mail命令来发送带附件的邮件,如下:
echo “这里输入你邮件内容” | mail -s “邮件标题” -a file.txt 59090939@qq.com
在上面的命令中,-s 参数用于指定消息主题;-a 参数指定需要发送的附件路径,貌似这个不能发送多个附件,-v参数显示详细的发送过程。通过以下两种方法来加大附件大小的限制:
第一种:
[root@xiao ~]$ postconf message_size_limit
message_size_limit = 51200000
echo “message_size_limit = 102400000” >> /etc/postfix/main.cf && service postfix reload
Reloading Postfix configuration…done.
第二种:
[root@xiao ~]$ postconf -e message_size_limit=302400000
[root@xiao ~]$ service postfix restart
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
[root@xiao ~]$ postconf message_size_limit
message_size_limit = 302400000
两种方法都可以设置
二、msmtp客户端的方式
1、下载安装msmtp
wget https://marlam.de/msmtp/releases/msmtp-1.6.7.tar.xz
tar -xvJf msmtp-1.6.7.tar.xz
ls
cd msmtp-1.6.7
./configure –prefix=/usr/local/msmtp
make && make install
2、配置msmtp账号
cd /usr/local/msmtp
mkdir etc #配置文件目录和配置文件都要自己建
cd etc
手动创建配置文件vi msmtprc
# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account default
#你的发送邮件服务器
host smtp.126.com
port 25
#要从哪个邮箱发出
from xxxx@126.com
#这里如果使用on的话会报 “msmtp: cannot use a secure authentication method”错误
auth login
tls off
#邮箱用户名
user xxxx@126.com
#邮箱用户名
#邮箱密码,这里可是明文的,如果你觉得不安全可以把文件改为600属性
password xxxxxxx
# Set a default account
account default: test
Esc,shift+: 进入命令模式,输入x,保存退出。
由于password是明码,所以我们需要修改此文件的权限 chmod 600 etc/msmtprc
3、测试
/usr/local/msmtp/bin/msmtp youremail@test.com
输入任意字符,然后按Ctrl+D退出,查看邮件是否收到。
由于设置了日志,可以到 /usr/local/msmtp/msmtp.log,查看日志,发信成功失败都会有记录。
按ctrl+d结束
但是它不能够发送附件,所以安装mutt
4、安装mutt
vi /etc/Muttrc ,编辑mutt的总设置,修改以下几行
set from=”发送邮件地址”
set sendmail=”/usr/local/msmtp/bin/msmtp”
set use_from=yes
set realname=”发件人”
set editor=”vi”
发件地址最好与msmtp设置的账号相同,否则可能会出错。
5、测试一下mutt是否有效
echo “测试测试” | mutt -s “测试” 测试邮件地址
echo “testmail” |mutt -s “test” [-a /etc/hosts] test@163.com
这里的-a 是指添加附件,如果是多个附件的话就 多加几个 -a 文件名
可以使用mutt进行邮件备份等工作了,结合cron使用,可以实现的功能相当多。
三、使用python脚本发送邮件
脚本如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Wangj
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = ‘smtp.126.com’
mail_user = ‘username’
mail_pass = ‘passwd’
mail_postfix = ‘126.com’
def send_mail(to_list,subject,content):
me = “test”+”<“+mail_user+”@”+mail_postfix+”>”
msg = MIMEText(content, ‘plain’, ‘utf-8’)
msg[‘Subject’] = subject
msg[‘From’] = me
msg[‘to’] = to_list
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == “__main__”:
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
新建send.py文件,将以上代码复制编辑,设置发件用户、密码。
然后验证脚本是否可以正常发送邮件 ./send.py xxx@139.com hello test 三个参数分别是:收件人邮箱、邮箱主题、邮箱内容
四、使用系统自带邮件工具发送电子邮件
1.打开电脑的Linux系统,再检查邮件工具。
2.配置邮件地址,再用postconf命令添加邮件地址。
3.设置环路连接,配置ip地址。
4.指定连接的客服机,配置客户机的连接名。
5.发送邮件到本地邮件服务器,设置发送的内容。
6.检查mutt工具和服务,用mutt命令检查发送出去的邮件。
转载请注明:小猪云服务器租用推荐 » Linux系统发送邮件失败?如何正确发送?