精华内容
下载资源
问答
  • 我用的是outlook2013版本首先打开文件选择添加账户手动设置或其他服务器类型选择POP或IMAP,点下一步下面以163邮箱为例,qq邮箱和企业邮箱都类似(163邮箱qq邮箱的pop怎么开启在下一篇博客,一定要先看,里面有登录...

    我用的是outlook2013版本

    1. 首先打开文件

    2. 选择添加账户
    3. 手动设置或其他服务器类型
    4. 选择POP或IMAP,点下一步
    5. 下面以163邮箱为例,qq邮箱和企业邮箱都类似(163邮箱和qq邮箱的pop怎么开启在下一篇博客,一定要先看,里面有登录密码的设置),如果是qq邮箱,将画红线的地方改成pop.qq.com;smtp.qq.com;其他邮箱类推,比如我们公司的邮箱,在mail前会有一串地址,就将两个红线的地方都换成这个地址,就是公司邮件的服务器地址


    6. 然后点其他设置
    7. 确定之后,点下一步,会有账户测试,痛过之后,邮件设置就完成了,点击关闭





    展开全文
  • # 可以打开或关闭调试信息: # server.set_debuglevel(1) # 可选:打印POP3服务器的欢迎文字: print(server.getwelcome().decode('utf-8')) # 身份认证: server.user(email) server.pass_(password) # stat()...
  • 1.打开如下目录文件 2.修改参数如下 注意:如果邮箱地址是以https开头的必须设置ssl参数设置为true,否则测试的时候会收到502 Proxy Error错误警告。 这里详细介绍其他几个信息怎么获取 1)...

    1.打开如下目录文件




    2.修改参数如下


    注意:如果邮箱地址是以https开头的必须设置ssl参数设置为true,否则测试的时候会收到502 Proxy Error错误警告。

    这里详细介绍其他几个信息怎么获取


    1)如果是企业邮箱按照上面填写就可以了,当然了,需要在下面界面把勾打上


    注意与我文件里面的信息对比,包括端口号都已经包含在里面,注意里面的使用ssl,需要设置ssl参数为true,这一点上面有说明。



    2)如果想使用个人qq邮箱做代理邮箱服务器,那么就要按以下步骤来:点击设置-->开启2中服务。


    然后会提示你进行短信验证,发送短信会收到如下信息,注意箭头所指信息非常重要,先保存下来。


    然后文件信息的标配如下


    这里的user_name就是你的qq邮箱地址,password就是上一步保存的密码(记住不是你的qq密码)。


    3.配置redmine中邮箱信息,按步骤1234来,记得步骤三一定不要忘了。如果配置成功就能收到下图顶部绿色框中的信息,同时你的邮箱也能收到信息。


    展开全文
  • 项目里面使用javaMail发QQ邮件,日志显示我们这边传过去的附件名是正常的,个别名字会出现乱码。 客户不断反馈,悟空面对这个问题在搞了两天无果后,只能求救于部门老大。老大看了看我可怜巴巴的眼神,拍着胸脯保证...

    解决javaMail发送QQ邮件,附件名乱码的问题

    问题背景

    项目里面使用javaMail发QQ邮件,日志显示我们这边传过去的附件名是正常的,个别名字会出现乱码。
    客户不断反馈,悟空面对这个问题在搞了两天无果后,只能求救于部门老大。老大看了看我可怜巴巴的眼神,拍着胸脯保证交给他了,结果在他debug过无数层源码,打开无数个百度页后,告诉不好解决,先延期吧。
    悟空没有办法,只能拿过来自己再一点一滴debug看下,期望能解出来这个问题。

    具体问题

    首先给大家看下我们的问题,这个是乱码的邮件压缩包
    龙珠悟空
    正常的应该是这样的:
    龙珠悟空

    解决思路

    1. 观察正常得字母和汉字的压缩包不会有问题,有问题的是这种带有特殊符号的压缩包。有同学说直接禁止这样命名不就好了嘛,客户是上帝呀,客户要这样命名那也没有办法。所以解决问题才是正解。
    2. degbug查看发送压缩包前,传入的压缩包名字是正确的,考虑是QQ邮箱有问题,或者是名字的编码有问题,将发送方法改为发送到163邮箱,发现也有该问题。排除QQ邮箱的问题,肯定是压缩包处理时对名字的处理有问题。二话不说,悟空马上考试看源码

    源码Debug

    debug源码查看javaMail附件的处理方法MimeMessageHelper.addAttachment ,一路点到附件名的处理方法MimeUtility.encodeWord方法

    private static String encodeWord(String string, String charset,
    				     String encoding, boolean encodingWord)
    			throws UnsupportedEncodingException {
    
    	// If 'string' contains only US-ASCII characters, just
    	// return it.
    	int ascii = checkAscii(string);
    	if (ascii == ALL_ASCII)
    	    return string;
    
    	// Else, apply the specified charset conversion.
    	String jcharset;
    	if (charset == null) { // use default charset
    	    jcharset = getDefaultJavaCharset(); // the java charset
    	    charset = getDefaultMIMECharset(); // the MIME equivalent
    	} else // MIME charset -> java charset
    	    jcharset = javaCharset(charset);
    
    	// If no transfer-encoding is specified, figure one out.
    	if (encoding == null) {
    	    if (ascii != MOSTLY_NONASCII)
    		encoding = "Q";
    	    else
    		encoding = "B";
    	}
    
    	boolean b64;
    	if (encoding.equalsIgnoreCase("B")) 
    	    b64 = true;
    	else if (encoding.equalsIgnoreCase("Q"))
    	    b64 = false;
    	else
    	    throw new UnsupportedEncodingException(
    			"Unknown transfer encoding: " + encoding);
    
    	StringBuilder outb = new StringBuilder(); // the output buffer
    	doEncode(string, b64, jcharset, 
    		 // As per RFC 2047, size of an encoded string should not
    		 // exceed 75 bytes.
    		 // 7 = size of "=?", '?', 'B'/'Q', '?', "?="
    		 75 - 7 - charset.length(), // the available space
    		 "=?" + charset + "?" + encoding + "?", // prefix
    		 true, encodingWord, outb);
    
    	return outb.toString();
        }
    

    上面的代码我们可以看出,javaMail在对名字处理之前,首先对传入的名字进行了编码的判断,int ascii = checkAscii(string);encoding == null的情况下,对将要对名字进行的编码指定了encoding方法,如果encoding.equalsIgnoreCase("B")则进行Base64编码,发送给QQ邮箱。
    此刻我们没有指定encoding,debug进checkAscii(string);看下,会默认什么编码

     static int checkAscii(String s) {
    	int ascii = 0, non_ascii = 0;
    	int l = s.length();
    
    	for (int i = 0; i < l; i++) {
    	    if (nonascii((int)s.charAt(i))) // non-ascii
    		non_ascii++;
    	    else
    		ascii++;
    	}
    
    	if (non_ascii == 0)
    	    return ALL_ASCII;
    	if (ascii > non_ascii)
    	    return MOSTLY_ASCII;
    
    	return MOSTLY_NONASCII;
        }
    

    在上述方法中nonascii((int)s.charAt(i))对US-ASCII进行校验,如果全是US-ASCII码,则返回ALL_ASCII==1,如果超过一半是 US-ASCII码,则返回MOSTLY_ASCII==2,否则就返回MOSTLY_NONASCII==3
    代码块一中我们可以看出只要不是MOSTLY_NONASCII==3,就会使用Q编码即非Base64编码,MOSTLY_NONASCII==3时则使用Base64编码。
    此时我们再看名字"行业媒体稿件${random}.zip ",这个名字有一半以上都是可以ASCII码,所以使用了Q即非Base64编码。

    doEncode(string, b64, jcharset, 
    		 // As per RFC 2047, size of an encoded string should not
    		 // exceed 75 bytes.
    		 // 7 = size of "=?", '?', 'B'/'Q', '?', "?="
    		 75 - 7 - charset.length(), // the available space
    		 "=?" + charset + "?" + encoding + "?", // prefix
    		 true, encodingWord, outb);
    
    

    通过doEncode方法我们可以看出名字如果超过75个字符,我们会截断成两端拼接,我们的名字长度不超过75字符,不是字符长度引起的问题,继续排查。进入doEncode 代码,我们可以看到

     ByteArrayOutputStream os = new ByteArrayOutputStream();
    	    OutputStream eos; // the encoder
    	    if (b64) // "B" encoding
    		eos = new BEncoderStream(os);
    	    else // "Q" encoding
    		eos = new QEncoderStream(os, encodingWord);
    

    QEncoderStream方法对名字数据流进行了编码处理,问题点一定再编码这块,继续看源码

     public QEncoderStream(OutputStream out, boolean encodingWord) {
    	super(out, Integer.MAX_VALUE); // MAX_VALUE is 2^31, should
    				       // suffice (!) to indicate that
    				       // CRLFs should not be inserted
    				       // when encoding rfc822 headers
    
    	// a RFC822 "word" token has more restrictions than a
    	// RFC822 "text" token.
    	specials = encodingWord ? WORD_SPECIALS : TEXT_SPECIALS;
        }
    

    可以看到定义了全局变量specials 对流的字符集进行判断,继续追踪,看该变量什么时候调用

     @Override
        public void write(int c) throws IOException {
    	c = c & 0xff; // Turn off the MSB.
    	if (c == ' ')
    	    output('_', false);
    	else if (c < 040 || c >= 0177 || specials.indexOf(c) >= 0)
    	    // Encoding required. 
    	    output(c, true);
    	else // No encoding required
    	    output(c, false);
        }
    

    这个方法将编码后的名字流进行输出,此时我们可以看到write(int c)对每个字节进行处理,output()方法里进行流拼接,很明显问题出在拼接的流之间字符集冲突乱码啦。
    至此问题点发现,是由于名字时含有非ASCII造成的,所以干脆,在封装压缩包的之后,直接指定名字的编码方式即可,统一使用Base64编码。

    解决方式

    从上面问题发现,只需要指定压缩包名的编码方式即可,Debug源码

        public static String encodeText(String text, String charset,
    				    String encoding)
    			throws UnsupportedEncodingException {
    	return encodeWord(text, charset, encoding, false);
        }
    

    发现encodeWord(text, charset, encoding, false);方法可以指定名字编码方式,所以完整的发送方法为

    public void sendAttachmentsMail(MailSendBo mailSendBo)
            throws MailSendException, MessagingException, UnsupportedEncodingException {
            JavaMailSenderImpl javaMailSender = initJavaMailSender(mailSendBo.getFromEmail(), mailSendBo.getAuthCode());
            MimeMessage message = javaMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            helper.setFrom(mailSendBo.getFromEmail());
            helper.setTo(mailSendBo.getToEmail());
            helper.setSubject(mailSendBo.getSubject());
            helper.setText(mailSendBo.getContent());
            List<String> filePathList = mailSendBo.getFilePathList();
            if (CollectionUtils.isNotEmpty(filePathList)) {
                for (String url : filePathList) {
                    File tempFile = new File(url);
                    //指定压缩包名的编码方式和字符集
                    String fileName = MimeUtility.encodeText(tempFile.getName(), "UTF-8", "B");
                    helper.addAttachment(fileName, tempFile);
                }
            }
            javaMailSender.send(message);
        }
    

    下面展示一下效果:
    龙珠悟空
    解决问题,老大都没解决被悟空解决啦,可是怎么才能不高调的炫耀一下呢,那么就写篇文章吧

    每日一语

    最可怕的是想太多,做太少,而我们恰恰处于这个年纪,停下来,先走两步,也许不一定是想的那样

    点关注,不迷路,更多精彩关注微信公众号

    龙珠悟空

    展开全文
  • 假设我想要我的QQ的所有好友QQ号码, 然后拼成邮箱一行一个, 怎么处理呢? 方法有很多种, 下面是比较简单的一种 , 原理是登录QQ空间, 然后点访问权限-> 指定好友可见 , 在此操作过程中F12打开network, 或者用抓包...

    如何获取自己的QQ好友?
    假设我想要我的QQ的所有好友QQ号码, 然后拼成邮箱一行一个, 怎么处理呢?
    方法有很多种, 下面是比较简单的一种 , 原理是登录QQ空间, 然后点访问权限-> 指定好友可见 , 在此操作过程中F12打开network, 或者用抓包工具抓HTTP请求, 找到这一个地址的请求

    在这里插入图片描述

    然后, 复制请求响应结果, 是一个jsonp 格式, 修改为json格式, 保存到文件 qq.json

    写一个index.php 内容如下:

    <?php
    $data = json_decode(file_get_contents('qq.json'),true);
    if($data)
    {
       $data = $data['data']['items'];
       foreach($data as $item)
       {
         file_put_contents('mail.txt',$item['uin']. '@qq.com'. PHP_EOL,FILE_APPEND);
       }
    }
    

    然后在index.php 文件所在目录用cli 方式运行index.php , 处理写入mail.txt

    php index.php
    

    处理完的数据如下:
    在这里插入图片描述
    然后, 我就可以用来批量用脚本发邮件了~

    展开全文
  • 我采取的方法可能有点低级,首先打开我们的qq邮箱,按F12找见如下的包: 我们需要的好友信息就保存在这个包里面了,但是!QQ邮箱设置了访问权限,我们并不能直接通过requests访问这个链接,所以我就采取了比较笨的...
  • 最近,qq油箱里面老是出现,什么芙蓉姐姐最新裸照啊,还有什么"哥哥,快快视频"等,看了老烦,想着肯定是病毒.一看果然是qq大盗的病毒。想着网上关于qq大盗的破解,如火如荼的,怎么还敢这么猖狂.以前网上也看到过,用...
  • (不知道怎么打开的根据手机品牌可以百度一下如:魅族手机怎么打开USB调试有详细的教程), 3.手机自动更新APP关闭。不知道怎么关闭的可根据手机型号百度一下。 4.设置好之后安装系统,联系客服邮箱发给你(如图)...
  • 将本地文件传到阿里云服务器

    千次阅读 2020-02-21 07:08:43
    问题怎么将本地文件传到阿里云服务器里面? 解决 第一种:在阿里云服务器里建一个FTP服务商,在本地用FTP客户端上传文件 第二种:进阿里云服务器远程界面的时候,把本地磁盘带进去,然后进服务器里直接从本地磁盘里...
  • github新手使用指南

    2019-11-13 16:54:54
    github代码提交团队管理 废话不多说教新手怎么用创建项目和提交: 第一生成新的SSH Key 命令:ssh-keygen -t rsa -C “1641767484@qq.com” ssh-keygen -t rsa -C “填写你 ...打开id_rea里面有密钥 第三步去登录加...
  • 比如这篇:Jenkins配置QQ邮箱发邮件 此篇主要记录一下我遇到的问题,万一之后也有人遇到这样的问题,就可以节省时间了。 问题复现: 我想用一个新QQ专门来发邮件,当一切配置好了之后,运行Jenkins,显示构建成功,...
  • 为网页创建快捷方式

    千次阅读 热门讨论 2012-04-06 11:00:20
    维护YH的时候经常遇到这样的问题,用户在桌面添加了登录页面的快捷方式,但是当我双击进入登录页面的时候,却发现里面的验证码信息总是那个,而且怎么登录也登录不进去,我以为是数据库服务器没有打开,但是如果是...
  • luke下载使用

    2018-12-27 09:40:00
    下载地址:http://www.xdowns.com/app/253909.html(如若下载不到可以qq找我备注你的邮箱我直接发给你:1397617269) 使用:(解压下面这个文件) 解压完成里面的内容是这样的: 注意:双击jar包(我用这个,因为方便)...
  • 到你所指定的邮箱,我数据库的值能抓出来然后不知道怎么里面放了,不知道怎么写了,求大神指教一二 package me.reg.util; import java.util.Date; import java.util.Properties; import javax.mail....
  • 打开“聊天限制”对话框,系统可以控制局域网内的任意主机登录使用各种聊天工具,系统可以完全封堵QQ、MSN、新浪UC、网易泡泡等。此外,通过系统提供的ACL规则,你可以禁止任意聊天工具。 9、 ACL访问规则 打开...
  • QQ邮箱:huaxia888@qq.com 问:软件里的部分功能类似网络上的小窍门。版权有问题吗? 答:软件是通过注册表或BAT文件执行工作的,那些都是简单的编程,所以和网络类似的工具无版权冲突。你学点编程语言,你也会...
  • Discuz网页斗地主插件

    2013-05-05 20:16:26
    答:下donetfx2.0.exe安装上就行了,里面有个快捷方式-》打开无法运行请下载安装donetfx2.0,点击就能下载了 斗地主升级到专业版要多少钱? 答:本软件没有专业版,付费版本与免费版本功能完全相同,唯一区别是最大...
  • FuckRouter

    2011-07-20 22:11:17
    补充说明:有鉴于近来很多完全不懂电脑的朋友加我QQ,询问我软件的使用方法,无论我怎么解释,都理解不了我说的话,使我很困惑,也深受其扰;其实这些问题我在这个文档里基本上都已经说清楚了,如果还有人因为这里...
  • 打开/config.php,对照里面的提示进行相应的修改(并且/j/update.js和forgetpsw.php文件也各有处地方要修改,请对照注释修改即可); ⑶ 以二进制将除/readme文件夹外的所有文件上传到你的服务器, ⑷ 如非WIN服务器...
  • 答:所有需要修改的地方都在AsaiBBSInc文件夹中的bbsconfig.asp里面,高级修改设置请打开AsaiBBSInc和AsaiBBSUser文件夹下的AsaiBBSFun.asp、AsaiFun.asp,所有的系统过程与设置均在里面。 3、如何修改论坛界面? ...
  • rosrun rqt_reconfigure rqt_reconfigure( 打开后可以看到左栏里面有个 openni , 点击小三角选择下面的 driver, 勾选 depth_registration ,然后关掉窗口就可以了.具体过程和作用可以参考官网说明:...
  • 答:所有需要修改的地方都在AsaiBBSInc文件夹中的bbsconfig.asp里面,高级修改设置请打开AsaiBBSInc和AsaiBBSUser文件夹下的AsaiBBSFun.asp、AsaiFun.asp,所有的系统过程与设置均在里面。 3、如何修改论坛界面? ...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

qq里面怎么打开邮箱