Отправка электронной почты в React Native - PullRequest
0 голосов
/ 25 февраля 2020

Я работаю над приложением React Native. Мне нужно отправить электронное письмо, так как мы используем функцию mail () в PHP. Может кто-нибудь, пожалуйста, проведите меня через этот процесс?

1 Ответ

0 голосов
/ 25 февраля 2020

В вашем сценарии вы можете использовать Связывание в реагирующем нативе.

Импортировать сначала

import { Linking } from 'react-native'

React Native Функция открытой почты:

<Button onPress={() => Linking.openURL('mailto:support@example.com') }
  title="support@example.com" />

Реагирует на собственную функцию открытой почты с темой и телом

<Button onPress={() => Linking.openURL('mailto:support@example.com?subject=SendMail&body=Description') }
      title="support@example.com" />

Реагирует на собственный открытый URL

<Button onPress={() => Linking.openURL('https://www.google.co.in/') }
      title="www.google.co.in" />

Подробнее:

mailto:? Subject = & body = & cc =

<receiver_email> Важное значение , Адрес электронной почты для отправки электронной почты.

<subject> тема письма по умолчанию, которая будет прикреплена к новому письму (опция)

<body> текст письма по умолчанию (опция)

<emails_to_copy> список писем для копирования (опция)

Пример полного кода

// send-email.js

// We can use react-native Linking to send email
import qs from 'qs';
import { Linking } from 'react-native';


export async function sendEmail(to, subject, body, options = {}) {
    const { cc, bcc } = options;

    let url = `mailto:${to}`;

    // Create email link query
    const query = qs.stringify({
        subject: subject,
        body: body,
        cc: cc,
        bcc: bcc
    });

    if (query.length) {
        url += `?${query}`;
    }

    // check if we can use this link
    const canOpen = await Linking.canOpenURL(url);

    if (!canOpen) {
        throw new Error('Provided URL can not be handled');
    }

    return Linking.openURL(url);
}


// example.js

import { sendEmail } from './send-email';

sendEmail(
    'test@gmail.com',
    'Greeting!',
    'I think you are fucked up how many letters you get.'
).then(() => {
    console.log('Our email successful provided to device mail ');
});

Для отправки писем в качестве фоновой службы:

Я думаю, что вам нужен почтовый сервер или хотя бы почтовый сервис для отправки электронной почты с вашим приложением. Я не думаю, что вы можете отправлять электронные письма непосредственно со стороны клиента.

Но на Inte rnet есть различные почтовые службы, которые вы можете использовать бесплатно (например, Mailgun или SendPulse . Там вы можете просто использовать простой метод POST из кода в вашем приложении против их API.

Если вы хотите отправлять электронную почту по протоколу SMTP, тогда вы можете использовать реагирует на родной модуль smtp или реагирует на родной smtp-mailer . Вы можете прочитать об этом здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...