react phone open number links linking link app react-native react-native-android react-native-ios

react-native - links - react native open phone number



¿Cómo lanzar y abrir el cliente de correo electrónico React-native? (7)

No quiero redactar un correo electrónico. Solo quiero poder iniciar la aplicación de correo electrónico principal en el dispositivo de un usuario (iOS y Android) desde una aplicación nativa de reacción.

Escenario: Enviaré un correo electrónico de verificación al usuario al registrarse.


Reaccionar función de correo abierto nativo

<Button onPress={() => Linking.openURL(''mailto:[email protected]'') } title="[email protected]" />

Reacciona función nativa de correo abierto con asunto y cuerpo

<Button onPress={() => Linking.openURL(''mailto:[email protected]?subject=SendMail&body=Description'') } title="[email protected]" />

Reaccionar URL abierta nativa

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


Creo que el siguiente módulo npm debería tener lo que estás buscando. Desafortunadamente, utiliza bibliotecas nativas, por lo que tendrás que ejecutar algunos enlaces de reacción nativa.

https://www.npmjs.com/package/react-native-mail


Desafortunadamente, ninguna de las respuestas anteriores son correctas .

No quiero redactar un correo electrónico. Solo quiero poder lanzar la aplicación de correo electrónico principal.

Me gustaría tener el mismo comportamiento:

  1. Pantalla de inicio de sesión con un botón Open Email App
  2. El usuario abre su aplicación de correo electrónico.
  3. Puede hacer clic en el enlace mágico para volver a la aplicación.

Más o menos lo mismo que el Slack Onboarding con el enlace mágico.

Encontré una solución con la biblioteca react-native-email-link . Puede abrir un cliente de correo electrónico desde React Native (para la función de tipo "enlace mágico").

  • Funciona en Android.
  • Si desea probar en iOS, necesita tener un dispositivo real porque no hay mail.app en el simulador de iOS.


Puede utilizar este método para enviar cualquier cliente de correo electrónico abierto y enviar un correo electrónico con algunos datos.

export const sendEmailViaEmailApp = (toMailId, subject, body) => { if (!isUndefined(toMailId)) { let link = `mailto:${toMailId}`; if (!isUndefined(subject)) { link = `${link}?subject=${subject}`; } if (isUndefined(subject)) { link = `${link}?body=${body}`; } else { link = `${link}&body=${body}`; } Linking.canOpenURL(link) .then(supported => { if (supported) { // ''mailto:[email protected]?subject=Billing Query&body=Description'' Linking.openURL(link); } }) .catch(err => console.error(''An error occurred'', err)); } else { console.log(''sendEmailViaEmailApp -----> '', ''mail link is undefined''); } };

Coloca este método dentro de una clase de utilidades y usa este método donde quieras.


Para abrir la aplicación de correo electrónico en iOS :

Linking.canOpenURL(''message:'') .then(supported => { if (!supported) { console.log(''Cant handle url'') } else { return Linking.openURL(''message:'') } }) .catch(err => { console.error(''An error occurred'', err) })


<TouchableOpacity onPress={()=>{ Linking.openURL(''mailto:[email protected]?subject=mailsubject&body=mailbody''); }}> <View><Text>Contact Us</Text></View> </TouchableOpacity>

Este trabajo para mí.