更多内容欢迎访问个人网站   http://icodeyou.com

       前几天利用Socket实现了用java语言搭建web服务器,全程下来应该会对Socket这个东西已经使用的非常熟悉了,虽然抽象,但是使用过一次之后就会感受到它在网络通信上的作用是多么的强大!正好,今天就继续用Socket来练习使用以下Smtp协议发送一封简单的电子邮件。今天的故事呢,是我要约我女神出去吃饭啦啦啦~~~所以,面对Smtp,只许成功,不许失败!

       全局假定我的邮箱为cnsmtp01@163.com   女神的邮箱为cnsmtp02@163.com  密码都是 computer (呦,还是个情侣邮箱~)

       为了更加体现程序员的高大上,所以我选择使用命令行的方式(SB程序员。。。)。打开cmd,在命令行里输入telnet,“嗯,居然给我显示telnet不是内部或外部命令”!完蛋,怎么办,这才第一步,就出师不利啊,看来今天要跪,赶快想解决办法。进入 控制面板---程序和功能---启动或关闭windows功能---telnet客户端,勾选上然后确定即可(有些人的电脑还会看到“telnet服务端”,注意别选错了,服务端是指你的电脑作为服务器让别人登陆的,而咱们现在要做的是自己的电脑作为客户端登陆邮箱服务器)

image

       再在cmd中试一下,直接输入 telnet smtp.163.com 25 ,第一行会显示邮件服务器返回的欢迎信息,我这里返回的就是 “220 163.com Anti-spam GT for Coremail System (163com[20121016])” 其中220说明邮件服务器跟我已经建立了连接,它已经开始想要帮帮我了,哈哈。友好一点,跟服务器大哥打个招呼吧,输入HELO huan,(huan是随便输入的,输入什么都行,服务器是不会鸟你到底输入的是什么),这时服务器返回的是“250 OK”,说明现在服务器等着我继续发送命令了。输入 MAIL FROM:<cnsmtp01@163.com > 这时服务器居然给我返回了553,并告诉我需要认证。也是,既然登陆人家的服务器,总得有个人家的账号吧。所以接下来输入AUTHLOGIN,服务器返回了334和我看不懂的东西,这是要求咱们要输入用户名和密码信息了。但是都知道,像用户名密码这种信息是不能在互联网里进行明文传输的,而smtp服务器用户名和密码采用的是base64编码加密方式,所以在百度搜一个在线base64加密网站就好了,(比如http://base64.xpcha.com/),如图

image

       把得到的密文往控制台中粘贴后回车,这时服务器会再要求我输入密码,跟刚才的方式一样即可,如果正确的话,会返回235,并告诉我认证成功了。Perfect!已经进展到一半了,继续!我下面就要告诉服务器从哪个邮箱发,发给谁,所以依次输入MAIL FROM:<cnsmtp01@163.com>  回车 RCPT TO:<cnsmtp02@163.com > 回车   发件人和收件人设置好后,自然该告诉服务器我要发的内容是什么了,所以输入DATA后回车,服务器返回给我354,并让我输入,以<CR><LF>.<CR><LF>结尾,好,那就直接输入正文:Can I date with you?   然后“回车” “.” “回车”来告诉服务器我的内容输入完毕了,它可以发送了。这个时候触目惊心的一幕出现了,服务器并没有给我返回2XX的正确码,而是给我返回了554,这是为什么,服务器大哥不肯帮我了?

image

       看着它给我的链接,像是163自己的错误说明文档,我就复制下来了,打开浏览器查看了一下,原来是163服务器认为我发的是垃圾邮件,所以它拒绝给我发信。可是大哥,我这是真心的啊,哪是什么垃圾邮件啊,求求你就让我发送吧(想想也是,如果好多人都这样给女神发了一堆的垃圾邮件,我会不高兴的%>_<%)。分析一下为什么会被认为是垃圾邮件吧:邮件得有主题(subject),发件人(from),收件人(to),邮件正文等,可是我只写了个邮件正文,也许服务器就把这个当成是垃圾邮件了。嗯,越臆想就觉得越有道理,来试一下吧。这次我输入了DATA后,服务器让我输入内容,我先输入了subject:Wouldyou go on a date with me ?  然后回车 from:cnsmtp01@163.com  回车  to:cnsmtp02@163.com 回车 Can you eat a meal together?    回车 . 回车     哈哈,这个时候服务器给我返回的是Mail OK,我发送成功了!接下来就是要等待女神的答复了。。。全部过程见下图:(留个问题,女神的邮箱里肯定会收到这封邮件,但是会收到我原本想发的正文“Canyou eat a meal together?  ”吗?如果不知道,查一下报文格式,或见下面的java程序,对比一下正文部分后面的数据格式区别)

image


全部过程:

telnet smtp.163.com 25
S: 220 163.com Anti-spam GT for Coremail System <163com[20121016]>
C: HELO huan
S: 250 OK
C: AUTH LOGIN
S: 334 dXNlcm5hbWU6
C: Y25zbXRwMDE=
S: 334 UGFzc3dvcmQ6
C: Y29tcHV0ZXI=
S: 235 Authentication successful
C: MAIL FROM:<cnsmtp01@163.com>
S: 250 Mail OK
C: RCPT TO:<cnsmtp02@163.com>
S: 250 Mail OK
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: subject:Would you go on a date with me ?
C: from:cnsmtp01@163.com
C: to:cnsmtp02@163.com
C: Can you eat a meal together?
C: .
S: 250 Mail OK queued as smtp7,C8CowEDpwFYP_ERUQxX8AA--.14S2 1413807190
C: RSET
S: 250 OK
C: QUIT
S: 221 Bye


       时候差不多了,我觉得女神应该会给我回复邮件了,怎么看,打开浏览器进入163邮箱吗?太out、太low了,直接命令行吧! telnet pop.163.com 110 ,刚才已经演示了全部的smtp命令,所以操作起来pop的应该很简单了,直接上图:

image

       看到女神回复我什么了吗。。。简直狗血。。。

 

       好了,一次的收发邮件过程全都解决了,而且结果是,,,被拒了。其实呢,刚才没说,我的女神是编号的,从女神0号,女神1号…女神n号,难道刚刚第0个女神拒绝我后我就颓了吗?那怎么行,我得越挫越勇啊,继续给剩下的女神发邮件。可是,我这么多女神,我不能给每个女神发邮件都用这种命令行方式吧,那不虚死我,那么问题来了——发邮件技术哪家强? 既然咱们是学计算机的,那就编软件呗,让软件替咱们批量发,简直Perfect!

       所以又回到这次的议题上来了,怎么用java实现smtp发送邮件?对,还是要请出大神Socket来帮忙。

       经历了上次Socket的折磨和刚才命令行的磨练,接下来就是把他们巧妙融合的时候了,所以,别走开。

       1、定义一些咱们一会会用到的邮箱名,用户名密码等信息(正常编程没人会把用户名和密码写的这么明白。。。):

	String sender = "cnsmtp01@163.com"; String receiver = "cnsmtp02@163.com"; String password = "computer";//上文说过,这个用户名和密码是要使用base64进行加密的,加密方法见下文附录1详解 String user = new BASE64Encoder().encode(sender.substring(0, sender.indexOf("@")).getBytes());  //截取出“cnsmtp01”并加密 String pass = new BASE64Encoder().encode(password.getBytes());   //加密 “computer”

       2、建立Socket连接:

Socket socket = new Socket("smtp.163.com", 25);  //smtp服务使用25号端口监听

       3、获取该socket的输入输出流

        InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); PrintWriter writter = new PrintWriter(outputStream, true);  //我TM去 这个true太关键了,我刚才没写这个别坑了!你可以不加这个试下效果,下文附录2会写到为什么加true

       4、发送HELO信息

        //HELO writter.println("HELO huan"); System.out.println(reader.readLine());


       5、发送AUTH LOGIN信息

        //AUTH LOGIN writter.println("auth login"); System.out.println(reader.readLine()); writter.println(user); System.out.println(reader.readLine()); writter.println(pass); System.out.println(reader.readLine()); //Above   Authentication successful


       6、发送发件人和收件人信息

        //Set mail from   and   rcpt to writter.println("mail from:<" + sender +">"); System.out.println(reader.readLine()); writter.println("rcpt to:<" + receiver +">"); System.out.println(reader.readLine());


       7、告诉服务器我要传数据

        //Set data writter.println("data"); System.out.println(reader.readLine());


       8、发邮件主题,收件人,发件人,正文

        writter.println("subject:女神,是我"); writter.println("from:" + sender); writter.println("to:" + receiver); writter.println("Content-Type: text/plain;charset=\"gb2312\"");//如果发送正文必须加这个,而且下面要有一个空行 writter.println(); writter.println("女神,晚上可以共进晚餐吗?"); writter.println(".");//告诉服务器我发送的内容完毕了 writter.println(""); System.out.println(reader.readLine());


       9、帮你发了邮件,感谢服务器,和它Say Goodbye吧,都不用请它吃饭,多好

        writter.println("rset"); System.out.println(reader.readLine()); writter.println("quit"); System.out.println(reader.readLine());


       所以,加上异常等操作,所有的代码如下:

public class SMTPMain {public static void main(String[] args) { String sender = "cnsmtp01@163.com"; String receiver = "cnsmtp02@163.com"; String password = "computer"; String user = new BASE64Encoder().encode(sender.substring(0, sender.indexOf("@")).getBytes()); String pass = new BASE64Encoder().encode(password.getBytes());try { Socket socket = new Socket("smtp.163.com", 25); InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); PrintWriter writter = new PrintWriter(outputStream, true);  //我TM去 这个true太关键了! System.out.println(reader.readLine()); //HELO writter.println("HELO huan"); System.out.println(reader.readLine()); //AUTH LOGIN writter.println("auth login"); System.out.println(reader.readLine()); writter.println(user); System.out.println(reader.readLine()); writter.println(pass); System.out.println(reader.readLine()); //Above   Authentication successful <pre name="code" class="java">            
            //Set mail from   and   rcpt to writter.println("mail from:<" + sender +">"); System.out.println(reader.readLine()); writter.println("rcpt to:<" + receiver +">"); System.out.println(reader.readLine()); //Set data writter.println("data"); System.out.println(reader.readLine()); writter.println("subject:女神,是我"); writter.println("from:" + sender); writter.println("to:" + receiver); writter.println("Content-Type: text/plain;charset=\"gb2312\""); writter.println(); writter.println("女神,晚上可以共进晚餐吗?"); writter.println("."); writter.println(""); System.out.println(reader.readLine()); //Say GoodByewritter.println("rset"); System.out.println(reader.readLine()); writter.println("quit"); System.out.println(reader.readLine()); } catch (Exception e) {e.printStackTrace(); } } }


 

       这下,我完全不怵蓝翔的挖掘机了,这简直就是我的约会神器,只要把女神x号的邮箱一改,程序一运行,我这邮件就瞬间发出去了,哈哈,简直机智如狗。

       现在运行程序,看控制台输出

image

       多次运行程序,女神1号,2号…的邮箱里都收到了如下图的邮件(可以把多个女神的邮箱加到集合[list map vector…]里,然后再一循环,分分钟搞定)

image

 

       至于什么界面什么的,就仁者见仁智者见智吧,习惯java的就swing,习惯android也可以xml,其实我是觉得android更方便一些,控件更容易用一些。若是用java写界面忘了的话,推荐使用 windows builder , 可以帮你很快绘制出界面来,然后你要做的就是获取控件,写监听器等等。

 

       附录1:

       关于base64加密:

       具体什么是base64加密,这种概念性的东西能在百度百科找到的我就不说了,说一下在java里怎么去用它。

       1、首先下载一个工具jar文件,叫做“sun.misc.BASE64Decoder.jar” (百度搜就能找到,如果找不到可以到我最后提供的本人github上去下载下来使用)

       2、有了jar文件后,需要把jar包导入工程,方法为:右键工程名—Build Path—Configure Build Path—Add External JARS,选择你刚下载的jar包后确定就可以了

       3、之后在java文件里写到 new BASE64Encoder().encode(password.getBytes());  时,会提示没有导入对应的包,可以按Ctrl + Shift + O(欧)来让IDE自动为我们导入(前提是你的jar包导入没问题)

 

       附录2:

       说说PrintWriter.println()方法(或write()方法,其实就差了一个换行,剩下参数什么的都一样)。PrintWriter writter = new PrintWriter(outputStream, true);  在PrintWritter的构造函数中,可以不加true,也可以加true,区别在于:加了true的话,在下面进行writter.println(“helloworld”);后,“helloworld”就会立即发送出去;相反,不加true的话,必须在writter.println(“helloworld”);后再调用writter.flush();来清空缓冲区,强制发送出去。我开始就没有加true,而且没调用flush()方法,我以为是服务器SB了,结果。。。。

 

       附录3:

       为什么telnet pop协议时登录服务器输入用户名和密码时会明文,这让我很奇怪,希望有人帮我解答。

 

       附录4:

       有没有注意到在使用smtp协议时,认证的时候需要你输入发送人信息,输入data后又要写一遍发件人的信息?难道服务器傻吗,非要让你输入两遍?可以想一想为什么,然后自己亲自尝试一下,由于咱们平时用的邮件代理都把这两个认为是同一个了,所以掩盖了一个发送邮件时候的小技巧,即可以伪装欺骗,具体的自己试一下,印象才会更深刻。

 

       附录5:

       大小写问题。有没有注意到我在cmd里输入的命令部分都是大写,而在java程序里输出的命令部分都是小写?我是想说,命令部分是不区分大小写的,但是命令后面的参数是严格区分大小写的,自己可以试一下。(例如邮箱用户名和密码本来就是区分大小写的吧)

 

       附录6:

       关于telnet本身的问题。在telnet里的一行输入了错误的数据,我想删除,然后再继续输入正确的,回车。这个时候你会发现明明输入的没有问题,可是服务器返回的却是错误代码,比如 500 Error:bad syntax    原因就在于命令你要一次性输入正确,如果中途输错了,不用退格,已经晚了,直接打个回车,肯定会报错,再出入正确的就好了。如果总是打错,像163服务器就直接给你断开连接,它以为你恶意要攻击它呢。像新浪的邮箱服务器,就很忠诚,在有效连接时间内一直等着你输入正确的命令,这点可以自己试一下。


       附录7:

       记得之前在linux中用shell发送邮件时,并没有强制要求我必须用合法的身份登录邮箱服务器才能进行发邮件操作,为什么?因为那个时候我自己的本机相当于是SMTP服务器,我自己当然就不用验证身份了。而现在是想用SMTP协议登录别人的服务器(如163),此时163就必须要合法的用户身份才能使其登录并发邮件了。


       针对此篇文章还要说明的:这只是为了理解SMTP的一篇很基础性的讲解,对于代码部分,为了体现主体,明显缺少通过服务器返回代码判断语句,因而以上程序缺少健壮性,自己在理解好实际编程时应该考虑到真正的网络请求情况,考虑丢包情况,根据服务器返回代码进行相应判断。

 

       好了,就写到这了,我要去和女神吃饭饭了~哪里有问题可以在下面留言~

 

       个人github:  http://github.com/icodeu

       代码托管地址:http://github.com/icodeu/JavaForSMTP

       个人微信号:qqwanghuan  只为技术交流

更多内容欢迎访问个人网站   http://icodeyou.com


查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 获取json中data的数据

    获取json中data的数据package com;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;public class Yuma {public static void main(String[] args){String json = "{\"data1\":[{\"name\":\"aa\",\"ag…...

    2024/4/17 5:14:48
  2. 小程序柱状图

    注意要点: 1,通过小程序提供的canvas组件来绘制。需要注意地方是自定义的组件的包含canvas的时候,创建 canvas 绘图上下文需要使用wx.createCanvasContext(canvasId, this),有疑问请查看微信小程序api介绍https://developers.weixin.qq.com/miniprogram/dev/api/canvas/cre…...

    2024/4/17 5:13:54
  3. 2012总结--第6篇--装备篇

    时代在进步,Fans的装备也再不断更新换代。1.天龙八部 今年2月份的时候,又玩了下 天龙八部-火影fans 这个 少林门派的号。 终于下定决心,充值了300元,换成元宝后,从“元宝商店”买了10几个“3级宝石”。 3级红宝石,3级皓石,3级碧玺,3级虎眼。打完宝石,看了下属性值,打…...

    2024/4/17 5:14:12
  4. MySQL从入门到精通(性能测试与调优)

    MySQL从入门到精通(性能测试与调优) 课程观看地址:http://www.xuetuwuyou.com/course/33 课程出自学途无忧网:http://www.xuetuwuyou.com/ 课程从基础开始,一直到高级方面,包括但不限于SQL语句,SQL调优、数据库调优等方面,里面穿插多个案例,大部分都是实例讲解。 课时…...

    2024/4/17 5:13:36
  5. html按钮button怎么加超链接

    1.如果让本页转向新的页面则用:<input type=button οnclick="window.location.href(连接)">2.如果需要打开一个新的页面进行转向,则用:<input type=button οnclick="window.open(连接)"> 3.如果需要返回到上次打开的页面,则用: <input…...

    2024/4/17 5:13:36
  6. springdata整合elasticsearch实现搜索的高亮显示

    刚开始接触elasticsearch的时候就对它的高亮显示比较感兴趣,直接使用es提供的api实现高亮的时候很方便,可以springdata整合es之后,一直没有找到如何实现高亮,网上也查询不到类似的文章。经过一段时间的学习研究,终于知道了如何实现。话不多说直接开撸!1、建工程导入依赖。…...

    2024/4/7 17:08:55
  7. 基于TCP和UDP的Socket编程的步骤

    java为TCP和UDP两种通信协议提供了相应的Socket编程类,这些类存放在java.net包中。与TCP对应的是服务器端的ServerSocket和客户端的Socket;与UDP对应的是DatagramSocket.基于TCP协议的Socket编程的主要步骤:TCP server:1.构建一个ServerSocket实例,指定本地的端口,用于…...

    2024/4/17 5:14:48
  8. 从零开始制作一款打卡类小程序

    本文首发于我的简书 扫描快速体验本小程序:这学期受某人所托,给学院做了一款打卡小程序。其效果如下: 一个类似论坛的社区,可发帖、评论、回复。 打卡可换算积分,一天只能打卡一次,且有今日打卡排行榜实时展示。 跑步也可换算积分,换算的规则男女有别。 这个小程…...

    2024/4/4 22:27:56
  9. linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)

    一、介绍基于TCP协议通过socket实现网络编程常用API 1、读者如果不是很熟悉,可以先看我之前写的几篇博客,有socket,地址结构的理解,更加方便读者理解地址分别是: 1)、http://blog.csdn.net/u011068702/article/details/56479927 2)、http://blog.csdn.net/u011068702/ar…...

    2024/4/17 5:14:00
  10. 最近在读的一些文章(2018年9月)

    这是学习笔记的第 1741 篇文章社会,生活你熬过人生中最黑暗时刻的经历,是你成为强者的必然选择有深度的人都会读的12本书【勾魂摄魄!中国最美的10大门派!】响彻斯坦福的开学演讲:你生来就是要体验疯狂的!17岁!Kaggle史上最年轻Grandmaster诞生:高中自学3年登顶母亲的修…...

    2024/4/17 5:15:06
  11. 【spark】Spark 入门到精通

    第一阶段 环境篇 Spark 修炼之道(进阶篇)——Spark 入门到精通:第一节 Spark 1.5.0 集群搭建【点击打开】Spark 修炼之道(进阶篇)——Spark 入门到精通:第二节 Hadoop、Spark 生成圈简介【点击打开】Spark 修炼之道(进阶篇)——Spark 入门到精通:第三节 Spark Intelli…...

    2024/3/31 15:59:45
  12. html总结(一)--表单提交中的input、button、submit的区别

    来自:http://www.cnblogs.com/shytong/p/5087147.html最近项目中用了很多的表单提交,发现input、button、submit甚至回车键都可以引发表单提交,下面将分别验证他们在使用中的区别1.input[type=submit]1.1代码如下<form><input name="name"><input …...

    2024/4/18 3:14:09
  13. vue中import和require的用法

    Import(模块、文件)引入方式 引入js文件 在用的那一页,引入文件Import tools from ‘./tools.js’相应的js文件,必须暴露出来引入组件 Import Hello from ‘./components/hello’引入外部组件 npm install --save axiosnpm install mint-ui -S//引入全部组件import Vue from …...

    2024/4/17 5:13:00
  14. JMeter从入门到精通

    《JMeter从入门到精通》之一——开始你的第一个JMeter脚本 JMeter是一款在国外非常流行和受欢迎的开源性能测试工具,像LoadRunner一样,它也提供了一个利用本地Proxy Server(代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用。所以在本文中介绍一个更为常用的方法…...

    2024/4/17 5:13:12
  15. Node中导入模块require和import傻傻分不清楚

    ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使用module.exports导出接口。不把require和import整清楚,会在未来的标准编程中死的很难看。require时代…...

    2024/4/17 5:12:48
  16. 技术人生:故事之二十二 软件门派,谁主沉浮?

    故事之二十二 软件门派,谁主沉浮? 经常有朋友指责我总使用MS产品,并极力推荐DEPHI或SUN JAVA,而我需要的不是MS或SUN这种公司名称,需要的是功能。选择MS有好处,特别是在开发上,灵活多样,目前操作系统也使用的广泛,特别是在技术上,从广度到深度有明确的思路和技术点…...

    2024/4/17 5:13:36
  17. 微信小程序 —— 考勤管理Demo(前后端及数据库)

    源码地址:https://github.com/Zheng-Wenkai/WX_checkAttendanceDemo简要介绍这是一个微信小程序的考勤管理Demo,包括前后端及数据库等内容。如有错误或建议,欢迎指出。前端:微信小程序框架(https://mp.weixin.qq.com/debug/wxadoc/dev/index.html)后端:koa框架(基于exp…...

    2024/4/17 5:13:18
  18. MongoDB进阶(八)Spring整合MongoDB(Spring Data MongoDB)

    最近比较忙,忙的都没空理csdn了,今天我继续迈着魔鬼般的步伐,摩擦摩擦……总结下最近学到的MongoDB的知识。1.认识Spring Data MongoDB之前还的确不知道Spring连集成Nosql的东西都实现了,还以为自己又要手动封装一个操作MongoDB的API呢,结果就发现了Spring Data MongoDB。…...

    2024/3/31 20:59:27
  19. 本周游戏评价:修真世界+玄幻书介绍

    这两周看了两本书,一本是皇甫奇的书<神座>,另一本则是方想的<修真世界>。 这两个都是好书,但是作为一个游戏开发人员,总觉得后者是可以改编成一款有创意的游戏的书。所以我就在网上搜了一下,果真还是真的有这款游戏,是页游。 在我看小说的时候,我的 瞬间想法…...

    2024/4/17 5:12:42
  20. SQL Server 2008报表服务从入门到精通pdf

    下载地址:网盘下载 内容简介编辑《SQL Server 2008报表服务从入门到精通》围绕着SQL Server 2008的Reporting Services,完整介绍了整个报表周期的三个阶段,着重通过动手练习(也称为实践教程),即按照一系列步骤操作的方式来帮助读者掌握Reporting Services堪称完美的开发平台…...

    2024/4/17 5:14:54

最新文章

  1. STM32F411CEU6_智能手环_搭建框架_基本功能实现_1

    中文结合M4的中文手册&#xff0c;411数据手册以及智能手环原理图先完成以下基本功能实现&#xff0c;搭建框架&#xff1a; 1.创建一个411工程 2.按键控制灯&#xff0c;电机 //标准按键 按下高电平 3.串口&#xff08;串口1&#xff09; 及 中断 //和PC收…...

    2024/4/18 11:11:50
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 记录我第一场面了40min+的面试

    中冶赛迪信息技术(重庆)有限公司 国企 首先3/24投递的&#xff0c;4/10打了电话问是否接受劳务派遣&#xff0c;我当时不知道劳务派遣什么意思&#xff0c;问了和售前售后是不是类似&#xff0c;得到了不大一样的回答&#xff0c;后面加了微信&#xff0c;定了11开始面试。 这…...

    2024/4/16 13:04:32
  4. 【JavaScript】如何在npm中切换源以及使用指定源安装依赖

    忘不掉的是什么我也不知道 想不起当年模样 看也看不到 去也去不了的地方 也许那老街的腔调是属于我的忧伤 嘴角那点微笑越来越勉强 忘不掉的是什么我也不知道 放不下熟悉片段 回头望一眼 已经很多年的时间 透过手指间看着天 我又回到那老街 靠在你们身边渐行渐远 …...

    2024/4/17 21:44:56
  5. 流域生态系统水-碳-氮耦合过程模拟

    流域是一个相对独立的自然地理单元&#xff0c;它是以水系为纽带&#xff0c;将系统内各自然地理要素连结成一个不可分割的整体。碳和氮是陆地生态系统中最重要的两种化学元素&#xff0c;而在流域系统内&#xff0c;水-碳-氮是相互联动、不可分割的耦合体。随着流域内人类活动…...

    2024/4/16 10:49:49
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/18 0:33:31
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/17 20:29:59
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/18 9:45:31
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/17 2:33:17
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/17 7:50:46
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/18 3:56:01
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/18 3:56:04
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/18 3:55:30
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/18 3:55:54
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/18 3:55:45
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/17 21:50:30
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/15 13:53:08
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/15 9:16:52
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/18 9:24:29
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/18 3:56:18
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/18 3:55:57
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/18 3:55:50
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/15 23:28:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/18 3:56:20
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/18 3:56:11
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57