2017-03-08 162 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>