2017-03-08 153 views
0

我在为密码恢复设置电子邮件服务器时变得疯狂。在wso2身份服务器中设置邮件服务器5.3

我已遵循密码恢复指南1。 当我尝试恢复GUI告诉我,电子邮件已正确发送,但在日志中我发现以下异常密码:

[2017-03-08 09:24:42,913] ERROR - Event dropped at Output Adapter 'EmailPublish 
er' for tenant id '-1234', Error in message format, null {org.wso2.carbon.event. 
output.adapter.email.EmailEventAdapter} 
javax.mail.AuthenticationFailedException 
     at javax.mail.Service.connect(Service.java:306) 
     at javax.mail.Service.connect(Service.java:156) 
     at javax.mail.Service.connect(Service.java:105) 
     at javax.mail.Transport.send0(Transport.java:168) 
     at javax.mail.Transport.send(Transport.java:98) 
     at org.wso2.carbon.event.output.adapter.email.EmailEventAdapter$EmailSen 
der.run(EmailEventAdapter.java:306) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51 
1) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. 
java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor 
.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

我已经做了很多temptatives。我已经在wso2is-5.3.0 \ repository \ conf \ axis2.xml中包含了gmail的配置。然后我尝试了一下我们的Enterpise服务器的配置。最后,我编写了一个java程序来检查最终的网络配置问题,并且我能够使用gmail和我们的内部电子邮件服务器发送电子邮件。 请在这里找到,我尝试了两种配置: GMAIL

<transportSender name="mailto" 
        class="org.apache.axis2.transport.mail.MailTransportSender"> 
     <parameter name="mail.smtp.from">********@gmail.com</parameter> 
     <parameter name="mail.smtp.user">********</parameter> 
     <parameter name="mail.smtp.password">********</parameter> 
     <parameter name="mail.smtp.host">smtp.gmail.com</parameter> 
     <parameter name="mail.smtp.port">587</parameter> 
     <parameter name="mail.smtp.starttls.enable">true</parameter> 
     <parameter name="mail.smtp.auth">true</parameter> 
</transportSender> 

我在Gmail中已经设置相关的安全设置接受“不太安全客户端”,我能够利用与其他框架的Gmail帐户(贾斯珀报告)。

企业电子邮件服务器

<transportSender name="mailto" 
        class="org.apache.axis2.transport.mail.MailTransportSender"> 
     <parameter name="mail.smtp.from">*********</parameter> 
     <parameter name="mail.smtp.user">********</parameter> 
     <parameter name="mail.smtp.password">*********</parameter> 
     <parameter name="mail.smtp.host">mailer.******.it</parameter> 
     <parameter name="mail.smtp.port">25</parameter> 
     <parameter name="mail.smtp.starttls.enable">false</parameter> 
     <parameter name="mail.smtp.auth">true</parameter> 
    </transportSender> 

在此先感谢.. - 乔瓦尼(A不佳开发商:-))

回答

1

为了使WSO2IS发送恢复密码电子邮件来响应仪表板上的用户操作(登录页面上的“忘记密码”链接),要用邮件服务器参数编辑的文件是output-event在repository/conf文件夹中的-adapters.xml。

+0

嗨,也许你知道如何使用其他语言环境(语言)在WSO2中发送一封信? – zygimantus

0

IIRC我加入同一个邮件配置到axis2_client.xml以及解决同样的问题在同一部分内。希望有所帮助。 :)

+0

你是什么意思的“同一节”? – Giovanni

+0

请你能扩展你的答案吗? – Giovanni

-1

我解决了这个问题,通过

  1. 打开不够安全的应用在Gmail中使用Gmail户头
  2. 确保用户名和您在WSO2IS使用SMTP配置地址是相同的1:电子,

    <parameter name="mail.smtp.from">[email protected]</parameter>

    <parameter name="mail.smtp.user">[email protected]</parameter>

0

从WSO2 Identity Server 5.3.0起,为了发送电子邮件,我们需要更新位于wso2is-5.3.0/repository/conf目录下的output-event-adapters.xml文件,如下所示。一旦你更新它,当你配置Gmail帐户接受不太安全的客户端,它应该工作

<adapterConfig type="email"> 
    <!-- Comment mail.smtp.user and mail.smtp.password properties to support connecting SMTP servers which use trust 
    based authentication rather username/password authentication --> 
    <property key="mail.smtp.from">[email protected]</property> 
    <property key="mail.smtp.user">abcd</property> 
    <property key="mail.smtp.password">xxxx</property> 
    <property key="mail.smtp.host">smtp.gmail.com</property> 
    <property key="mail.smtp.port">587</property> 
    <property key="mail.smtp.starttls.enable">true</property> 
    <property key="mail.smtp.auth">true</property> 
    <!-- Thread Pool Related Properties --> 
    <property key="minThread">8</property> 
    <property key="maxThread">100</property> 
    <property key="keepAliveTimeInMillis">20000</property> 
    <property key="jobQueueSize">10000</property> 
</adapterConfig>