小编Sub*_*nta的帖子

无法从 docker 容器内发送邮件

我有一个 spring mvc 应用程序,我已经对其进行了 dockerized。请按照我的方式查看此链接dockerized 。在容器化之前,部署在 tomcat 中的普通 war 能够使用主机 smtp.gmail.com 和端口 587 发送电子邮件。

我的 bean 定义是这样的:

<beans:bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <beans:property name="host" value="smtp.gmail.com" />
    <beans:property name="port" value="587" />
    <beans:property name="username" value="xxxxxx" />
    <beans:property name="password" value="xxxxx" />
    <beans:property name="javaMailProperties">
         <beans:props>
              <beans:prop key="mail.smtp.auth">true</beans:prop>
              <beans:prop key="mail.smtp.starttls.enable">true</beans:prop>
         </beans:props>
    </beans:property>
    </beans:bean>
Run Code Online (Sandbox Code Playgroud)

现在我明白了:

    org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;
  nested exception is:
        java.net.ConnectException: Connection refused (Connection refused). Failed messages: javax.mail.MessagingException: Could not …
Run Code Online (Sandbox Code Playgroud)

email smtp docker

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

这个 Python 类型提示语法是什么,括号中的两种类型?

我有一个带有签名的方法,如下所示:

def get_users_for_survey(survey_id: (int, str),show_deleted_users: bool = False) -> list:
    pass
Run Code Online (Sandbox Code Playgroud)

我避开了方法主体,因为我只对survey_id 的类型提示部分感兴趣?看起来这意味着它可以是 int 或 str。我想如果这是意图,那么它应该是survey_id:Union(int,str)。PyCharm 不反对。你认为我错过了 PEP 484 中的某些内容吗?我不认为它是一个元组。

编辑根据此处提供的答案,这只是一个错误。现在我知道这个错误的根源是什么。在同样的方法下一行是:

if survey_id and isinstance(survey_id, (int, str)):
Run Code Online (Sandbox Code Playgroud)

所以你在 isinstance 中看到,如果你想适应多种类型,这是一个有效的语法。这个方法的作者认为这也是一个有效的类型提示语法。这里是一个参考: Python isinstance with multiple types

python pep

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

Windows 无法将无服务器识别为内部或外部命令

我想在我的 Windows 7 机器上安装无服务器。我的 npm 版本是 6.1.0。我使用了命令

npm install -g serverless
C:\Users\ADMIN\AppData\Roaming\npm\serverless -> C:\Users\ADMIN\AppData\Roaming\npm\node_modules\serverless\bin\serverless
C:\Users\ADMIN\AppData\Roaming\npm\slss -> C:\Users\ADMIN\AppData\Roaming\npm\node_modules\serverless\bin\serverless
C:\Users\ADMIN\AppData\Roaming\npm\sls -> C:\Users\ADMIN\AppData\Roaming\npm\node_modules\serverless\bin\serverless

> spawn-sync@1.0.15 postinstall C:\Users\ADMIN\AppData\Roaming\npm\node_modules\serverless\node_modules\spawn-sync
> node postinstall


> serverless@1.30.1 postinstall C:\Users\ADMIN\AppData\Roaming\npm\node_modules\serverless
> node ./scripts/postinstall.js

+ serverless@1.30.1
added 351 packages from 269 contributors in 154.064s
Run Code Online (Sandbox Code Playgroud)

但是当我在命令提示符下输入 serverless 时,它告诉我

'serverless' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

serverless aws-serverless

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

基于 Spring 的休息调用中的可选 @PathVariable

我正在使用带有 java 1.8 的 Spring boot 2.2.2。我有一个帖子类型的休息终点 /getViewAnalyticsByDimension。现在为了适应一项功能,我需要将 api 更改为 /getViewAnalyticsByDimension/{priceAgreementId}。我想将路径变量 priceAgreementId 声明为可选。但是,当我将请求发布到 /getViewAnalyticsByDimension 时,没有来自 Postman 的价格协议 ID,它无法找到控制器方法。当没有 priceAgreementId 和实际 priceAgreementId 可用时,我可以要求我的前端对应部分发送“空白”。但这并不优雅。

java spring spring-boot

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

标签 统计

aws-serverless ×1

docker ×1

email ×1

java ×1

pep ×1

python ×1

serverless ×1

smtp ×1

spring ×1

spring-boot ×1