WSO2 EI mailto протокол - PullRequest
       23

WSO2 EI mailto протокол

0 голосов
/ 20 января 2020

Я разрабатываю прокси-сервер, который может получать электронную почту с помощью EI 6.4. Я могу получать сообщения из учетной записи Gmail, но содержимое искажено. Я понимаю, что это, вероятно, связано с типом содержимого / encondings, но я не уверен, как его настроить. Любая помощь приветствуется.

Спасибо.

Я включил приемник в axis2. xml Файл:

<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.MailTransportListener">
    <!-- configure any optional POP3/IMAP properties
    check com.sun.mail.pop3 and com.sun.mail.imap package documentation for more details-->
</transportReceiver>

Это мой прокси:

<?xml version="1.0" encoding="UTF-8"?>
<proxy name="EmailReceiverProxy" startOnLoad="true" transports="mailto" xmlns="http://ws.apache.org/ns/synapse">
    <parameter name="transport.mail.Address">***@yahoo.com.br</parameter>
    <parameter name="transport.mail.Protocol">pop3</parameter>
    <parameter name="transport.PollInterval">2</parameter>
    <parameter name="mail.pop3.host">pop.mail.yahoo.com</parameter>
    <parameter name="mail.pop3.port">995</parameter>
    <parameter name="mail.pop3.user">***</parameter>
    <parameter name="mail.pop3.password">***</parameter>
    <parameter name="mail.pop3.ssl.enable">true</parameter>
    <parameter name="mail.pop3.socketFactory.class">javax.net.ssl.SSLSocketFactory</parameter>
    <parameter name="mail.pop3.socketFactory.fallback">false</parameter>
    <parameter name="mail.pop3.socketFactory.port">995</parameter>
    <parameter name="transport.mail.ContentType">text/plain</parameter>

    <target>
        <inSequence>
            <property name="senderAddress" expression="get-property('transport', 'From')"/>
            <log level="full">
                <property name="Sender Address" expression="get-property('senderAddress')"/>
            </log>
        </inSequence>
        <outSequence>
            <property name="Subject" value="Mensagem recebida e lida" scope="transport"/>
            <header name="To" expression="fn:concat('mailto:', get-property('senderAddress'))"/>
            <log level="full">
                <property name="message" value="Response message"/>
                <property name="Sender Address" expression="get-property('senderAddress')"/>
            </log>
            <send/>
        </outSequence>
    </target>
</proxy>

И вот результат:

[2020-01-20 14:14:36,750] [EI-Core]  INFO - LogMediator To: , From: mailto:***@yahoo.com.br, WSAction: urn:mediate, SOAPAction: urn:mediate, MessageID: <CAG_ir90VmTE8NC51x1afaDTzt5yo1R1zLqg=D6XsKdX+ATkexA@mail.gmail.com>, Direction: request, Sender Address = ***, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><text xmlns="http://ws.apache.org/commons/ns/payload">--00000000000032f511059c92e9cc&#xd;
Content-Type: text/plain; charset="UTF-8"&#xd;

blablabla&#xd;
&#xd;
--00000000000032f511059c92e9cc&#xd;
Content-Type: text/html; charset="UTF-8"&#xd;
&#xd;
&lt;div dir="ltr">blablabla&lt;br>&lt;/div>&#xd;
&#xd;
--00000000000032f511059c92e9cc--&#xd;
</text></soapenv:Body></soapenv:Envelope>
...