В вашем сценарии вы можете использовать Связывание в реагирующем нативе.
Импортировать сначала
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 . Вы можете прочитать об этом здесь.