Мое приложение Reaction native android зависло, когда пользователь, выполнивший вход в систему, впервые пытался воспроизвести любую почту с помощью библиотеки реагировать на изменение родной почты. - PullRequest
0 голосов
/ 20 февраля 2020

Я использую библиотеку react-native-mailcore для ответа на почту. В соответствии с инструкцией для этой библиотеки выполните c, я делаю smtp login перед вызовом MailCore.sendMail. Со второго раза ответная почта работает с тем же кодом, что и для создания почты, я использую тот же код для отправки почты. Это хорошо работает и для этого случая. Мой код указан ниже.

import MailCore from 'react-native-mailcore';
var LocalStorage = require('react-native-local-storage');

sendMail = async () => {
    let user = await LocalStorage.get('user');
    await MailCore.loginSmtp({
      hostname: 'smtp.gmail.com',
      port: 465,
      username: user.email,
      password: user.password,
    }).catch(error => ToastAndroid.show(error,ToastAndroid.LONG))
   // All the values from the state are coming correctly
    let subject = this.state.subject || '(No Subject)';
    let body = this.state.compose + this.state.body || '';
    let from = {
      addressWithDisplayName : this.state.name,
      mailbox: this.state.user,
    }
    let to = {[this.state.to] : 'to labels'};

    // App crashed here while called sendMail

    await MailCore.sendMail({
      headers:{
        isEncrypted: 'true',
      },
      from:from,
      to:to,
      subject:subject,
      body,  
    }).then(()=>{
        this.goBack(); //navigating to main page after success
        ToastAndroid.show("sending...",ToastAndroid.SHORT);
    }).catch(err => ToastAndroid.show(err,ToastAndroid.LONG));
  }

...