Documentation Index
Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
Use this file to discover all available pages before exploring further.
Dashboard Configuration
Simply toggle on “Email” in the Log in & User Profile section of the dashboard.
If users report delayed or missing OTP emails, see the Email OTP delivery troubleshooting guide.
If users report delayed or missing OTP emails, see the Email OTP delivery troubleshooting guide.
React Native provides email authentication through the dynamic client’s auth methods, allowing you to send OTP codes and verify them.
import { dynamicClient } from '<path to client file>';
import { useState } from 'react';
import { View, TextInput, Button } from 'react-native';
const EmailSignIn = () => {
const [email, setEmail] = useState('');
const [otp, setOtp] = useState('');
const [otpSent, setOtpSent] = useState(false);
const handleSendOTP = async () => {
await dynamicClient.auth.email.sendOTP(email);
setOtpSent(true);
};
const handleResendOTP = () => {
dynamicClient.auth.email.resendOTP();
};
const handleVerifyOTP = async () => {
await dynamicClient.auth.email.verifyOTP(otp);
};
return (
<View>
{!otpSent ? (
<View>
<TextInput
value={email}
onChangeText={setEmail}
placeholder="Enter your email"
/>
<Button onPress={handleSendOTP}>Send OTP</Button>
</View>
) : (
<View>
<TextInput
value={otp}
onChangeText={setOtp}
placeholder="Enter OTP"
/>
<Button onPress={handleVerifyOTP}>Verify OTP</Button>
<Button onPress={handleResendOTP}>Resend OTP</Button>
</View>
)}
</View>
);
};
Rate Limits
Email verification is subject to the following rate limits:
- 3 attempts per 10 minutes per email address
This is in place to protect deliverability of emails and to prevent abuse.