JavaWeb——实现邮件发送
文章目录
- 一、邮件的发送
- 1.1电子邮件
- 1.2基本组成部分
- 1.3传输协议
- SMTP协议:发送邮件
- POP3协议:接受邮件
- 1.4邮件发送
- 二、Java实现发送邮件
- 获取QQ邮箱的授权码
- 2.1 代码实现简单的邮件
- Maven导入依赖
- 测试类编写
- 2.2 代码实现添加图片的邮件
- 2.3 添加附件
- 三、JavaWeb实现邮箱发送
- 1. 前端页面
- 2. 实体类
- 3.编写邮件发送的工具类
- 4. MailServlet类
- 5.配置响应的Servlet(web.xml)
一、邮件的发送
1.1电子邮件
电子邮件是因特网上使用得非常多的一种应用,它可以非常方便的使相隔很远的人进行通信。要在网络上实现邮件功能,必须要有专门的邮件服务器。
1.2基本组成部分
一个简单的邮件系统,应该包含三部分:首先是邮件服务器,然后是用户代理和邮件传送协议。
1.3传输协议
SMTP协议:发送邮件
一般将发送邮件的服务器成为SMTP服务器
POP3协议:接受邮件
一般将接受邮件的服务器成为SMTP服务器
1.4邮件发送
流程分析:
1.邮件发送方通过STMP协议连接到SMTP协议,然后发送邮件到达发送方的邮件服务器。
2.服务器分析邮件的接收方,通过STMP协议将邮件发送到接收方的SMTP服务器上
3.接收方的服务器将邮件存储在接收方的个人空间中
4.接收方通过POP3协议通过POP3服务器收取邮件
5.从个人空间中取出邮件信息
6.返回给接收方展示
二、Java实现发送邮件
这里使用QQ邮箱发送邮件
QQ邮箱区别于其他邮箱,他必须要有QQ邮箱的授权码。
获取QQ邮箱的授权码
进入QQ邮箱—>点击设置—>选择账户选项,往下找到IMAP服务。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lw1nQERr-1591424153132)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20200606135645161.png)]
开启服务:POP3/SMTP服务。如果已经开启,需要点击黄色提示框,生成一个授权码
2.1 代码实现简单的邮件
准备 JavaMail API 和Java Activation Framework
Maven导入依赖
<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependency><!-- https://mvnrepository.com/artifact/javax.activation/activation --><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency>
尝试发送一封邮件,保证电脑可以连接网络。
- 创建包含邮件服务器的网络连接信息的Session对象。
- 创建代表邮件内容的Message对象
- 创建Transport对象,连接服务器,发送Message,关闭连接
测试类编写
public class MailTest {public static void main(String[] args) throws Exception {Properties properties = new Properties();//设置properties.setProperty("mail.host","smtp.qq.com");//设置QQ邮件服务器properties.setProperty("mail.host", "smtp.qq.com"); //// 邮件发送协议properties.setProperty("mail.transport.protocol", "smtp");// 验证用户名密码 设置为trueproperties.setProperty("mail.smtp.auth", "true");/*** 对于QQ邮箱来说。还需要设置SSL加密*/MailSSLSocketFactory mailSSLSocketFactory = new MailSSLSocketFactory();mailSSLSocketFactory.setTrustAllHosts(true);properties.put("mail.smtp.ssl.enable", "true");properties.put("mail.smtp.ssl.socketFactory", mailSSLSocketFactory);//发送邮件//1.创建定义整个应用程序所需的环境信息的 Session 对象Session session = Session.getDefaultInstance(properties, new Authenticator() {public PasswordAuthentication getPasswordAuthentication() {//发件人邮件用户名、授权码return new PasswordAuthentication("发送方的邮箱号", "授权码");}});session.setDebug(true);//查看邮件发送的细节//2.通过Session获得Transport对象-->发送对象Transport transport = session.getTransport();//3、使用邮箱的用户名和授权码连上邮件服务器//参数1:smtp.qq.com -->发送使用qq邮箱 参数2-->发送方的邮箱号transport.connect("smtp.qq.com", "发送方的邮箱号", "授权码");//4、创建邮件//创建邮件对象MimeMessage message = new MimeMessage(session);message.setFrom(new InternetAddress("发送方的邮箱号"));//发件人message.setRecipient(Message.RecipientType.TO, new InternetAddress("接受发的邮箱号"));//收件人message.setSubject("邮件标题");//邮件的标题message.setContent("邮件的内容,可以使用html样式进行编辑!", "text/html;charset=UTF-8");//5.发送邮件transport.sendMessage(message, message.getAllRecipients());transport.close();}
}
如果使用QQ邮箱进行测试的时候,如果没有授权码,就会抱一个异常信息
2.2 代码实现添加图片的邮件
MIME(多用途互联网邮件扩展类型)
使用下面两个类
MimeMultipart类
用来组合多个MIME消息。一个MimeMultipart对象可以包含多个代表MIME消息的MimeBodyPart对象。
MimeBodyPart类
表示的是一个MIME消息,它和MimeMessage类一样都是从Part接口继承过来。
public class MailTest2222 {public static void main(String[] args) throws Exception {Properties properties = new Properties();//设置properties.setProperty("mail.host","smtp.qq.com");//设置QQ邮件服务器properties.setProperty("mail.host", "smtp.qq.com"); //// 邮件发送协议properties.setProperty("mail.transport.protocol", "smtp");// 验证用户名密码 设置为trueproperties.setProperty("mail.smtp.auth", "true");/*** 对于QQ邮箱来说。还需要设置SSL加密*/MailSSLSocketFactory mailSSLSocketFactory = new MailSSLSocketFactory();mailSSLSocketFactory.setTrustAllHosts(true);properties.put("mail.smtp.ssl.enable", "true");properties.put("mail.smtp.ssl.socketFactory", mailSSLSocketFactory);//发送邮件//1.创建定义整个应用程序所需的环境信息的 Session 对象Session session = Session.getDefaultInstance(properties, new Authenticator() {public PasswordAuthentication getPasswordAuthentication() {//发件人邮件用户名、授权码return new PasswordAuthentication("发送方的邮箱号", "授权码");}});session.setDebug(true);//查看邮件发送的细节//2.通过Session获得Transport对象-->发送对象Transport transport = session.getTransport();//3、使用邮箱的用户名和授权码连上邮件服务器//参数1:smtp.qq.com -->发送使用qq邮箱 参数2-->发送方的邮箱号transport.connect("smtp.qq.com", "发送方的邮箱号", "授权码");//4、创建邮件//创建邮件对象MimeMessage message = new MimeMessage(session);message.setFrom(new InternetAddress("发送方的邮箱号"));//发件人message.setRecipient(Message.RecipientType.TO, new InternetAddress("收件人的邮箱号"));//收件人message.setSubject("邮件标题");//邮件的标题// 准备图片数据MimeBodyPart image = new MimeBodyPart();//图片的数据处理DataHandler dh = new DataHandler(new FileDataSource("上传文件的路径"));image.setDataHandler(dh);image.setContentID("gem.jpg");//设置一个id//正文MimeBodyPart text = new MimeBodyPart();//cid 对应的id就是上面图片处理设置的idtext.setContent("包含正文和图片<img src='cid:gem.jpg'>的邮件", "text/html;charset=UTF-8");MimeMultipart mimeMultipart = new MimeMultipart();//添加mimeMultipart.addBodyPart(image);mimeMultipart.addBodyPart(text);mimeMultipart.setSubType("related");//添加到邮件中message.setContent(mimeMultipart);message.saveChanges();//5.发送邮件transport.sendMessage(message, message.getAllRecipients());transport.close();}
}
与普通发送邮件的区别在于 创建邮件的内容不同
使用MimeBodyPart对图片以及正文进行封装。
图片:
MimeBodyPart image = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("上传文件的路径"));
image.setDataHandler(dh);
image.setContentID("gem.jpg");//设置一个id
正文:注意的是正文中img的src属性里面取值:cid对应的是图片设置的一个id
MimeBodyPart image = new MimeBodyPart();
text.setContent("包含正文和图片<img src='cid:gem.jpg'>的邮件", "text/html;charset=UTF-8");
MimeMultipart mimeMultipart = new MimeMultipart();
使用MimeBodyPart添加相应的MimeBodyPart 对象
MimeMultipart mimeMultipart = new MimeMultipart();
//添加
mimeMultipart.addBodyPart(image);
mimeMultipart.addBodyPart(text);
mimeMultipart.setSubType("related");
最后将MimeBodyPart对象封装到MimeMessage 对象里面发送邮件。
//添加到邮件中
message.setContent(mimeMultipart);
message.saveChanges();
transport.sendMessage(message, message.getAllRecipients());
2.3 添加附件
同样修改的只是邮件的内容。针对上面的额代码,进行添加。
增加一个附件,不同的是MimeBodyPart设置的是文件的名称。图片的话是id。
MimeBodyPart body3 = new MimeBodyPart();
body3.setDataHandler(new DataHandler(new FileDataSource("src/resources/log4j.properties")));
body3.setFileName("log4j.properties"); //附件设置名字
首先将拼接好的正文和图片重新放在一个MimeBodyPart中
MimeBodyPart contentText = new MimeBodyPart();
contentText.setContent(multipart1);
然后拼接所有的内容,有了附件的话,将类型设置为mixed
MimeMultipart allFile =new MimeMultipart();
allFile.addBodyPart(contentText);//拼接好的图片和正文
allFile.addBodyPart(body3); //附件
allFile.setSubType("mixed");
添加到邮件中
mimeMessage.setContent(allFile);
mimeMessage.saveChanges();//保存修改
三、JavaWeb实现邮箱发送
1. 前端页面
<form action="${pageContext.request.contextPath}/mailServlet" method="post">用户名:<input type="text" name="username"><br/>密码:<input type="password" name="password"><br/>邮箱:<input type="text" name="email"><br/><input type="submit" value="注册">
</form>
2. 实体类
public class User {private String username;private String password;private String email;public User() {}public User(String username, String password, String email) {this.username = username;this.password = password;this.email = email;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +", email='" + email + '\'' +'}';}
}
3.编写邮件发送的工具类
我们在用户提交页面之后,获取到用户邮箱信息,发送消息的时候,时间的问题。我们可以将邮箱发送设置为多线程的。增加用户的体验.
public class Sendmail extends Thread {//用于给用户发送邮件的邮箱private String from = "发送方的邮箱号";//邮箱的用户名private String username = "发送方的用户名";//邮箱的密码private String password = "授权码";//发送邮件的服务器地址private String host = "smtp.qq.com";private User user;public Sendmail(User user){this.user = user;}//重写run方法的实现,在run方法中发送邮件给指定的用户@Overridepublic void run() {try{Properties prop = new Properties();prop.setProperty("mail.host", host);prop.setProperty("mail.transport.protocol", "smtp");prop.setProperty("mail.smtp.auth", "true");//设置加密MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);prop.put("mail.smtp.ssl.enable", "true");prop.put("mail.smtp.ssl.socketFactory", sf);Session session = Session.getDefaultInstance(prop, new Authenticator() {public PasswordAuthentication getPasswordAuthentication() {//发件人邮件用户名、授权码return new PasswordAuthentication("发送方的用户名", "授权码");}});session.setDebug(true);//2、通过session得到transport对象Transport ts = session.getTransport();//3、使用邮箱的用户名和授权码连上邮件服务器ts.connect(host, username, password);//4、创建邮件MimeMessage message = new MimeMessage(session);message.setFrom(new InternetAddress(from)); //发件人message.setRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail())); //收件人message.setSubject("用户注册邮件"); //邮件的标题String info = "恭喜您注册成功,用户名-->:" + user.getUsername() + ",您的密码--->:" + user.getPassword();message.setContent(info, "text/html;charset=UTF-8");message.saveChanges();//发送邮件ts.sendMessage(message, message.getAllRecipients());ts.close();}catch (Exception e) {throw new RuntimeException(e);}}
}
4. MailServlet类
获取到前台用户信息之后,封装为User对象,调用邮箱发送的工具类。开启线程发送邮件。
public class MailServletextends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {try {String username = request.getParameter("username");String password = request.getParameter("password");String email = request.getParameter("email");User user = new User(username,password,email);//使用线程 增加用户体验Sendmail send = new Sendmail(user);//启动线程,线程启动之后就会执行run方法来发送邮件send.start();//注册用户request.setAttribute("message", "邮箱已发送,请查收!");request.getRequestDispatcher("info.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();request.setAttribute("message", "注册失败,请重新注册!!");}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}
5.配置响应的Servlet(web.xml)
<servlet><servlet-name>mainServlet</servlet-name><servlet-class>com.gx.servlet.MailServlet</servlet-class></servlet><servlet-mapping><servlet-name>mainServlet</servlet-name><url-pattern>/mailServlet</url-pattern></servlet-mapping>
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 简版网页聊天室
简版网页聊天室 开发工具为vscode 文档目录结构如下index页面 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"&…...
2024/4/19 8:47:59 - 剑指Offer39--数字在排序数组中出现的次数
剑指Offer39--数字在排序数组中出现的次数暴力搜索输出不是这个数的个数,再相减 统计一个数字在排序数组中出现的次数。 暴力搜索 public class Solution {public int GetNumberOfK(int [] array , int k) {int count=0;for(int i=0; i<array.length; i++){if(array[i] == …...
2024/4/16 2:57:12 - 剑指offer---- 面试题39: 数组中出现超过一半的数字
问题描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路法一: 调包collections 法二: 遇到不同的数字则相互抵消…...
2024/4/16 8:52:36 - 010_构建opener和http控制器
opner的是使用 """ opener作用:方便使用代理,改变ip;默认的请求urlopen是不支持切换代理的 opener和urlopen的关系:urlopen方法返回的其实就是opener.open()对象 怎么构建openner:1.opener = build_opener(https_handler) ,传入的参数是https控制器2.opene…...
2024/4/15 5:07:04 - Mac Parallels Desktop中Windows虚拟机卡死问题解决思路分享
一、阐述原因由于自己在昨天晚上打开虚拟机之后,打开了一些软件,在打算关闭电脑的时候,并没有推出相应的软件、而是选择了关闭Parallels Desktop软件。所以,今天上午打开Parallels Desktop之后Windows虚拟机卡死,无论是强制重启还是选择任务管理器关闭进程都不济于事。 注…...
2024/4/18 0:18:09 - 信息学奥赛一本通(C++版)1020:打印ASCII码
1020:打印ASCII码 题目:题目描述输入输出输入样例输出样例程序样本 ) 题目: 题目描述 输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。 输入 一个除空格以外的可见字符。 输出 一个整数,即向零舍入到整数的结果。 输入样例A输出…...
2024/4/15 5:07:03 - 个人网站003——前端原型
路由管理新建页面 创建DreamHome.tsx文件。 新增路由 在路由管理文件中引入编写好的博客首页,新建路由指向该页面组件。<Route path="/dream" component={DreamHome} />路由跳转之后修改网页title信息。 这里本来是准备使用路由跳转函数的钩子函数onEnter来实…...
2024/4/16 2:57:27 - 阿里云【名师课堂】Java面向对象开发3 ~ 6:类与对象
阿里云【名师课堂】Java面向对象开发3 ~ 6:类与对象类与对象的基本定义认识类与对象类与对象定义及使用对象内存分析引用传递初次分析(重点) 类与对象的基本定义 是面向对象设计的核心所在,也是所有概念的基础。类本身属于引用数据类型,因此类的使用牵扯到内存的分配问题。…...
2024/4/18 23:10:13 - 剑指offer---- 面试题3:数组中重复的数字
问题描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。impor…...
2024/4/18 11:41:26 - 有监督机器学习
...
2024/4/18 18:51:43 - 剑指offer---- 面试题4:二维数组中的查找
问题描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路 从右上角开始扫描:该数大于要找的数:删除该数所在的…...
2024/4/16 2:57:17 - 数学模型常用方法
1、蒙特卡罗方法 在解决实际问题的时候应用蒙特卡罗方法主要有两部分工作: 1). 用蒙特卡罗方法模拟某一过程时,需要产生某一概率分布的随机变量。 2). 用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。 详解: https://baike.baidu.com/item/%E8%92%99%E…...
2024/4/16 2:57:12 - LeetCode 89.格雷编码
链接:https://leetcode-cn.com/problems/gray-code 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。 格雷编码序列必须以 0 开头。 示…...
2024/4/16 2:57:37 - 学习笔记6
在回顾了第二章的知识点后,今天开始了对第三章初步的学习 对书本中def()部分的例题进行了操作,例题中给的定义函数名称只是为了方便读者理解,一开始我用的是a()或者b()来直接表示,后来发现单用一个字母还是比较容易混淆,不过例题中还是用的简化函数return函数的例题…...
2024/4/16 2:57:37 - JAVA之多线程
一、程序、进程、线程1. 程序(program)概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。2. 进程(process)概念:程序的一次执行过程,或是正在运行的一个程序。 说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域3. 线…...
2024/4/18 0:30:45 - 剑指offer---- 面试题51:数组中的逆序对
问题描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007思路 (超时) 用递归排序的思路,先把序列分成左右两部分,直到序列长度为1…...
2024/4/1 7:59:23 - 函数、匿名函数、闭包、对象 当做实参时有什么区别
1.匿名函数能够完成基本的简单功能,传递的是这个函数的引用,只有功能; 2.普通函数能够完成较为复杂的功能,传递的是这个函数的引用,只有功能; 3.闭包能过够实现较为复杂的功能,传递的是这个闭包中的函数以及数据,因此传递的是功能+数据; 4.对象能够实现最为复杂的功能…...
2024/4/8 18:48:13 - 练习题16-移除数组元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3…...
2024/3/14 0:51:13 - 导致此错误的原因是什么 - “致命错误:无法找到本地咕噜声”
本文翻译自:What is causing this error - “Fatal error: Unable to find local grunt” I removed the old version of grunt first, then I installed the new grunt version, and then I got this error: 我首先删除了旧版本的grunt,然后我安装了新的grunt版本,然后我收…...
2024/3/14 0:51:10 - educoder实验作业二分查找
任务描述题目描述:将n个从小到大排序的整数(n<1000000)从1~n进行编号,并一个待查找的整数m,请使用二分法进行查找。 ####相关知识(略) ####编程要求 根据提示,在右侧编辑器Begin-End处补充代码。 输入 输入包括3行,第一行为整数n,第二行包括n个整数,以空格分隔,第…...
2024/4/18 18:50:18
最新文章
- libVLC Ubuntu编译详解
1.简介 有时候,windows上开发不满足项目需求,需要移植到linux上,不得不自行编译libvlc,编译libvlc相对而言稍微麻烦一点。 我使用的操作系统:Ubuntu20.04 查看系统命令lsb_release -a libvlc版本: 3.0.1…...
2024/4/19 9:39:58 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - vue3项目运行正常但vscode红色波浪线报错
以下解决办法如不生效,可尝试 重启 vscode 一、Vetur插件检测问题 vetur 是一个 vscode 插件,用于为 .vue 单文件组件提供代码高亮以及语法支持。但 vue 以及 vetur 对于 ts 的支持,并不友好。 1、原因 如下图:鼠标放到红色波浪…...
2024/4/18 11:03:27 - 备战蓝桥杯Day37 - 真题 - 特殊日期
一、题目描述 思路: 1、统计2000年到2000000年的日期,肯定是需要遍历 2、闰年的2月是29天,非闰年的2月是28天。我们需要判断这一年是否是闰年。 1、3、5、7、8、10、12月是31天,4、6、9、11月是30天。 3、年份yy是月份mm的倍数…...
2024/4/17 14:51:21 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/18 0:33:31 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/18 22:36:36 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/18 9:45:31 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/17 2:33:17 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/17 7:50:46 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/18 3:56:01 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/18 3:56:04 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/18 3:55:30 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/18 3:55:54 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/18 3:55:45 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/17 21:50:30 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/15 13:53:08 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/15 9:16:52 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/18 9:24:29 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/18 3:56:18 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/18 3:55:57 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/18 3:55:50 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/15 23:28:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/18 3:56:20 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/18 3:56:11 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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