Flutter邮件发送插件emailjs的使用
Flutter邮件发送插件emailjs的使用
官方EmailJS SDK for Flutter
SDK适用于EmailJS.com用户。
使用您的EmailJS账户发送邮件。
免责声明
这是仅限Flutter版本的SDK,其他平台请使用:
链接
简介
EmailJS帮助您直接从代码中发送邮件。无需服务器——只需将EmailJS连接到支持的邮件服务之一,创建一个邮件模板,并使用我们的SDK触发邮件。
使用方法
安装EmailJS SDK:
$ flutter pub add emailjs
注意:默认情况下,非浏览器应用程序的API请求被禁用。您需要通过Account:Security激活它们。
常见问题解答
API调用对非浏览器应用程序已禁用
您需要通过Account:Security激活API请求。
示例
发送邮件
import 'package:emailjs/emailjs.dart' as emailjs;
Map<String, dynamic> templateParams = {
'name': 'James',
'notes': 'Check this out!'
};
try {
await emailjs.send(
'YOUR_SERVICE_ID',
'YOUR_TEMPLATE_ID',
templateParams,
const emailjs.Options(
publicKey: 'YOUR_PUBLIC_KEY',
privateKey: 'YOUR_PRIVATE_KEY',
),
);
print('SUCCESS!');
} catch (error) {
print('$error');
}
初始化(可选)
import 'package:emailjs/emailjs.dart' as emailjs;
// 设置公共密钥为全局设置
emailjs.init(const emailjs.Options(
publicKey: 'YOUR_PUBLIC_KEY',
privateKey: 'YOUR_PRIVATE_KEY',
));
try {
// 发送邮件时不需要动态变量
await emailjs.send(
'YOUR_SERVICE_ID',
'YOUR_TEMPLATE_ID',
);
print('SUCCESS!');
} catch (error) {
print('$error');
}
完整示例Demo
以下是一个完整的Flutter应用示例,展示了如何在Flutter应用中集成和使用emailjs
插件来发送邮件:
import 'package:flutter/material.dart';
import 'package:emailjs/emailjs.dart' as emailjs;
void main() {
runApp(const App());
}
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo EmailJS',
theme: ThemeData(
primarySwatch: Colors.orange,
),
home: const HomePage(title: 'Flutter Demo EmailJS'),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key, required this.title});
final String title;
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
void _sendEmail() async {
try {
await emailjs.send(
'YOUR_SERVICE_ID', // 替换为您自己的服务ID
'YOUR_TEMPLATE_ID', // 替换为您自己的模板ID
{
'to_email': 'hi@example.com', // 收件人邮箱地址
'message': 'Hi', // 邮件内容
},
const emailjs.Options(
publicKey: 'YOUR_PUBLIC_KEY', // 替换为您自己的公共密钥
privateKey: 'YOUR_PRIVATE_KEY', // 替换为您自己的私有密钥
limitRate: const emailjs.LimitRate(
id: 'app',
throttle: 10000,
)),
);
print('SUCCESS!');
} catch (error) {
if (error is emailjs.EmailJSResponseStatus) {
print('ERROR... $error');
}
print(error.toString());
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'Press "Send Email" to send email',
),
ElevatedButton(
onPressed: _sendEmail,
child: const Text('Send Email'),
),
],
),
),
);
}
}
在这个示例中,我们创建了一个简单的Flutter应用程序,其中包含一个按钮,点击该按钮后会尝试发送一封邮件。请确保替换所有的占位符(如YOUR_SERVICE_ID
、YOUR_TEMPLATE_ID
等)为您自己的实际值。此外,确保在EmailJS的账户设置中启用了非浏览器应用程序的API请求。
更多关于Flutter邮件发送插件emailjs的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复