小编Kal*_*ala的帖子

使用javamail,gmail因应用程序不太安全而拒绝身份验证

我正在运行一个非常基本的Javamail程序来尝试发送电子邮件.这是带main()的独立程序.一旦我开始工作,我计划在一个在tomcat下运行的servlet中使用Javamail.

运行此程序时,我收到AUTH LOGIN失败错误.我尝试了几种不同的属性设置,但都没有解决问题.

然后我在SO上发现了一条帖子,建议降低我的Google帐户所需的安全级别.当我降低安全设置时,身份验证成功.

当然,我立即回到Google帐户的更高安全级别.

我的问题是,如何使我的应用程序更安全,以便gmail不拒绝身份验证?

程序代码如下所示.该程序与SO上的许多其他Javamail问题中的代码非常相似.

TryJavamail.java

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class TryJavamail {

  public static void main(String args[]) throws MessagingException {

    String submitName = "John Doe";
    String submitEmail = "from@example.com";
    String submitMessage = "This is the message";

    Properties props = new Properties();
    props.put("mail.transport.protocol", "smtp");
    props.setProperty("mail.smtp.host", "smtp.gmail.com");
    props.setProperty("mail.smtp.auth", "true");
    props.setProperty("mail.smtp.ssl.enable", "true");
    props.setProperty("mail.smtp.port", "465");
    Session session = Session.getInstance(props, null);

    session.setDebug(true);

    Message message = new MimeMessage(session); …
Run Code Online (Sandbox Code Playgroud)

java security jakarta-mail

17
推荐指数
1
解决办法
1万
查看次数

Mongodb导入和导出到csv

尝试从命令行导入或导出(MongoDB)时:对于Ex:

> mongoimport --db denistest --collection things --type csv --file C:/Users/Administrator/Desktop/csv_data.csv
Run Code Online (Sandbox Code Playgroud)

我收到" JavaScript执行失败:SyntaxError:意外的标识符 "错误?

这有什么不对?

mongodb

10
推荐指数
1
解决办法
8570
查看次数

在库中捆绑log4j.properties - 坏样式还是什么?

我遇到了一个很好的Java小型Web请求框架:Spark.API看起来不错,很有希望,但是库包本身很奇怪.不要理会它建议使用快照工件作为依赖项.单独留下它使用log4j进行日志记录(库现在倾向于使用jcl或slf4j)和System.out.println的事实.但它将自己的log4j.properties捆绑在spark-xxx.jar中.我花了一个小时来调查为什么当我的类路径中存在log4j.properties时,我的项目会抱怨log4j配置.-Dlog4j.debug = true给出了答案,log4j承认它已经从spark jar加载了log4j.properties.

我想知道这个(作为一个库并使用log4j和捆绑log4j.properties)是否有一些动机,或者它是否只是蹩脚.

java logging log4j spark-java

6
推荐指数
1
解决办法
565
查看次数

Intellij依赖查看器和包循环依赖

在我的编程生涯中,我一直认为循环依赖如下:
GIVEN

  • 包1
  • 包装2
    • subpackage2
  • 包装3

如果

  1. package1中的类引用package2中的类
  2. package2中的类引用package3中的类
  3. package3中的类引用package1中的类

那么
Project包含循环依赖包package1> package2> package3> package1.

当Intellij的依赖观察者告诉我时,这是一个非常大的惊喜:

如果

  1. package1中的类引用package2中的类
  2. subpackage2中的类引用package3中的类
  3. package3中的类引用package1中的类

那么
Project包含循环依赖包package1> package2> package3> package1.

请问任何人,解释一下循环依赖的严格定义是什么?为什么Intellij会显示如此奇怪的结果?谢谢.

java dependencies intellij-idea

6
推荐指数
1
解决办法
1745
查看次数

Docker容器发送空响应

希望有人可以告诉我我错过了什么?这是一个使用webrick的ruby应用程序,我试图将应用程序容器化.在Mac OSX 10.12.3 Sierra上运行.这是我的Dockerfile

FROM ruby:2.4.0-alpine
RUN apk add --no-cache gcc musl-dev libstdc++ g++ make
RUN gem install jekyll bundler redcarpet
RUN mkdir -p /usr/app/jekyll
COPY . /usr/app/jekyll
WORKDIR /usr/app/jekyll
EXPOSE 4000:4000
CMD ["jekyll", "serve"]
Run Code Online (Sandbox Code Playgroud)

以下是图像的构建方式

docker build -t chb0docker/cheat .
Run Code Online (Sandbox Code Playgroud)

如果我直接在主机上运行服务,它运行正常

Violas-MacBook-Pro:progfun-wiki cbongiorno$ jekyll serve &
[1] 49286
Violas-MacBook-Pro:progfun-wiki cbongiorno$ Configuration file: /Users/cbongiorno/development/progfun-wiki/_config.yml
Configuration file: /Users/cbongiorno/development/progfun-wiki/_config.yml
            Source: /Users/cbongiorno/development/progfun-wiki
       Destination: /Users/cbongiorno/development/progfun-wiki/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 0.409 seconds.
 Auto-regeneration: enabled for '/Users/cbongiorno/development/progfun-wiki'
Configuration file: /Users/cbongiorno/development/progfun-wiki/_config.yml
    Server …
Run Code Online (Sandbox Code Playgroud)

ruby webrick jekyll docker

6
推荐指数
1
解决办法
3341
查看次数

如何在Hibernate中使用SELECT进行INSERT

我需要在hibernate中实现以下请求:

insert into my_table(....,max_column)
values(...,(select max(id) from special_table where ....))
Run Code Online (Sandbox Code Playgroud)

如何在hibernate中使用注释来做到这一点?special_table可能不是my_table的子项或依赖项,只是一个subselect.

java sql orm hibernate hql

5
推荐指数
1
解决办法
5743
查看次数

如何创建一个需要很长时间才能在PostgreSQL中运行的查询

要测试我的应用程序,我需要一个查询运行很长时间(至少几分钟).关于如何快速创建这个的任何想法?

应用程序需要查询目录以查看正在运行的查询的列表.

我的应用程序使用postgresql.如果需要,我可以创建额外的虚拟表.

sql postgresql

5
推荐指数
1
解决办法
1760
查看次数

SQL从同一个表中选择两个最大行并与第三个表连接

混合中的两个表格:

项目

| item_id | user_id | data |
----------------------------
| 10       | 100    | A    |
| 11       | 100    | C    |
| 12       | 101    | E    |
| 13       | 101    | G    |
Run Code Online (Sandbox Code Playgroud)

item_detail

| id | item_id | ignore | detail1 | detail2 | detail3 | detail4 |
-----------------------------------------------------------------
| 1  | 10      |   0    |   h1    |   h2    |  h3     |  h4     |
| 2  | 10      |   0    |   g1    |   g2 …
Run Code Online (Sandbox Code Playgroud)

mysql sql aggregate-functions greatest-n-per-group sql-view

4
推荐指数
1
解决办法
667
查看次数

将证书添加到java密钥库,仍然错误

根据各种 Web 输入,我按照以下步骤将证书添加到本地 jdk 密钥库:

  1. 通过从 Linux 主机输入以下命令来下载证书: openssl s_client -connect MyService:443 -showcerts

  2. 复制(并包括)-----BEGIN CERTIFICATE-------- 和 --------END CERTIFICATE-------- 之间的内容,将其保存为 C: \Java\jre\lib\security\cer1.cer

  3. 键入: C:\Java\jre\bin>keytool -keystore C:\Java\jre\lib\security\cacerts -importcert -alias cer1 -file C:\Java\jre\lib\security\cer1.cer

这显示一条消息,证书添加成功。我通过使用 keytool 的 list 命令验证了这一点

  1. 然后我重新启动我的机器,并尝试再次运行我的Java程序,但仍然不断出现错误:

“sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”

使用的JDK:1.8.0_31,Windows 7

请帮忙!

java security ssl

4
推荐指数
1
解决办法
1万
查看次数

如何在SQL中将数据从一个表导入到另一个表

我有两个数据库,两个数据库都有两个表,如何在sql2008标准版中将数据从数据库表导入到另一个数据库表。我试图导出/导入功能,但没有运气。你能帮我吗?

sql import sql-server-2008

3
推荐指数
1
解决办法
1万
查看次数