发送邮件和下载邮件坑及问题总结(仅供参考)

1.腾讯失败文档:http://service.mail.qq.com/cgi-bin/help?id=20022
2.com.sun.mail.smtp.SMTPSendFailedException: [EOF]特殊字符 例如空格问题
3.javax.mail.AuthenticationFailedException: 535 Error: authentication failed, system busy登陆认证失败,开启smtp或者pop3协议
4.com.sun.mail.smtp.SMTPSendFailedException: 550 Error: content rejected.http://mail.qq.com/zh_CN/help/content/rejectedmail.html 邮件内容疑似垃圾邮件,系统拒绝接收
5.javax.mail.SendFailedException: Invalid Addresses 接收邮件或者发送邮件地址错误
6.com.sun.mail.smtp.SMTPSendFailedException: 451 Error: queue file write error 邮件一下放入队列太多,一直没有发送成功,也有可能邮件内容太大
7.com.sun.mail.smtp.SMTPSendFailedException: 550 Connection frequency limited 连接次数限制
8.java.lang.IllegalStateException: Folder is not Open 解决方式如下

           Message message[] = folder.getMessages();  
           System.out.println("收件箱总数: " + message.length);  
           for (int i = 0; i < message.length; i++) {     
                if(!message[i].getFolder().isOpen()) //判断是否open  
                   message[i].getFolder().open(Folder.READ_WRITE)                                  //如果close,就重新open    
               printMessage(message[i]);  
           }

9.OutOfMemory 一次不要获取太多邮件
10.javax.mail.MessagingException: No inputstream from datasource 可能是附件太大造成的
11.com.sun.mail.smtp.SMTPSendFailedException: 501 ¹ÜÀíÔ±ÒÑÇ¿ÖÆ¿ªÆô΢ÐŶ¯Ì¬ÂëµÇ¼£¬ÇëµÇ¼exmail.qq.com°ó¶¨Î¢ÐÅ 以上异常需要设置微信绑定,并设置一下动态密码
12.Access to default session denied

第一种方式1,session.getDefaultInstance(props,sa);改成mailSession = Session.getInstance(props,sa);
第二种方式:重启 释放之前建立的连接
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要使用 Python 进行邮件的发送和接收,可以使用 `smtplib` 和 `imaplib` 库。下面是一个简单的发送邮件的示例代码: ```python import smtplib from email.mime.text import MIMEText from email.header import Header # 发件人邮箱和密码 sender = 'your_email@example.com' password = 'your_password' # 收件人邮箱 receiver = 'recipient_email@example.com' # 邮件主题和内容 subject = 'Python 发送邮件测试' message = '这是一封 Python 发送的邮件' # 创建邮件对象 msg = MIMEText(message, 'plain', 'utf-8') msg['From'] = Header(sender, 'utf-8') msg['To'] = Header(receiver, 'utf-8') msg['Subject'] = Header(subject, 'utf-8') # 发送邮件 try: smtpObj = smtplib.SMTP('smtp.example.com') smtpObj.login(sender, password) smtpObj.sendmail(sender, [receiver], msg.as_string()) print('邮件发送成功') except smtplib.SMTPException: print('邮件发送失败') ``` 要接收邮件,可以使用 `imaplib` 库。下面是一个简单的接收邮件的示例代码: ```python import imaplib import email # 邮箱账号和密码 username = 'your_email@example.com' password = 'your_password' # 邮箱服务器 imap_server = 'imap.example.com' # 连接到邮箱服务器 imapObj = imaplib.IMAP4_SSL(imap_server) imapObj.login(username, password) # 选择收件箱 imapObj.select() # 搜索邮件 typ, data = imapObj.search(None, 'ALL') # 获取最新一封邮件 email_id = data[0].split()[-1] typ, msg_data = imapObj.fetch(email_id, '(RFC822)') # 解析邮件 msg = email.message_from_bytes(msg_data[0][1]) subject = msg['Subject'] from_addr = msg['From'] to_addr = msg['To'] body = msg.get_payload() # 关闭连接 imapObj.close() imapObj.logout() ``` 注意,以上示例代码仅供参考,实际使用时需要根据具体情况进行修改。同时,发送邮件和接收邮件的具体操作也会受到邮箱服务商的限制,需要根据具体邮箱服务商的文档进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值