https://github.com/tiaanduplessis/react-native-email
📮 Send a email using the Linking API
https://github.com/tiaanduplessis/react-native-email
email linking react-native
Last synced: 11 months ago
JSON representation
📮 Send a email using the Linking API
- Host: GitHub
- URL: https://github.com/tiaanduplessis/react-native-email
- Owner: tiaanduplessis
- License: mit
- Created: 2017-10-03T13:10:17.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-06-04T09:55:00.000Z (about 4 years ago)
- Last Synced: 2025-07-26T16:25:18.741Z (11 months ago)
- Topics: email, linking, react-native
- Language: JavaScript
- Homepage:
- Size: 269 KB
- Stars: 64
- Watchers: 3
- Forks: 11
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📮 react-native-email
[](https://npmjs.org/package/react-native-email)
[](https://npmjs.org/package/react-native-email)
[](https://github.com/RichardLitt/standard-readme)
[](https://npmjs.org/package/react-native-email)
[](http://makeapullrequest.com)
Send a email using the Linking API
## Table of Contents
- [📮 react-native-email](#-react-native-email)
- [Table of Contents](#table-of-contents)
- [Install](#install)
- [Usage](#usage)
- [Running on iOS simulator](#running-on-ios-simulator)
- [Running on Android SDK 30+](#running-on-android-sdk-30)
- [API](#api)
- [Contributing](#contributing)
- [License](#license)
## Install
Install the package locally within you project folder with your package manager:
With `npm`:
```sh
npm install react-native-email
```
With `yarn`:
```sh
yarn add react-native-email
```
## Usage
```jsx
import React from 'react'
import { StyleSheet, Button, View } from 'react-native'
import email from 'react-native-email'
export default class App extends React.Component {
render() {
return (
)
}
handleEmail = () => {
const to = ['tiaan@email.com', 'foo@bar.com'] // string or array of email addresses
email(to, {
// Optional additional arguments
cc: ['bazzy@moo.com', 'doooo@daaa.com'], // string or array of email addresses
bcc: 'mee@mee.com', // string or array of email addresses
subject: 'Show how to use',
body: 'Some body right here'
checkCanOpen: false // Call Linking.canOpenURL prior to Linking.openURL
}).catch(console.error)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center'
}
})
```
This results to:
### Running on iOS simulator
When running on the iOS simulator, you will get a `the URL is invalid` error. This will work on an actual device. **The iOS simulator does not have access to the dialer app.**.
### Running on Android SDK 30+
You will encounter a `Provided URL can not be handled` error when attempting to use the function with the `checkCanOpen` flag enabled.
Android SDK 30 introduced changes around how apps can query and interact with other apps. This means `Linking.canOpenURL` returns false for all links unless a `` element is added to `AndroidManifest.xml`. Adding the following intent to `android/app/src/main/AndroidManifest.xml` should resolve the issue:
```groovy
```
## API
For all configuration options, please see the [API docs](https://paka.dev/npm/react-native-email).
## Contributing
Got an idea for a new feature? Found a bug? Contributions are welcome! Please [open up an issue](https://github.com/tiaanduplessis/react-native-email/issues) or [make a pull request](https://makeapullrequest.com/).
## License
[MIT © Tiaan du Plessis](./LICENSE)