「Flutter/外部ライブラリ/メール送信/flutter email sender」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプル) |
(→メール送信エラー) |
||
(同じ利用者による、間の3版が非表示) | |||
行26: | 行26: | ||
await FlutterEmailSender.send(email); | await FlutterEmailSender.send(email); | ||
</pre> | </pre> | ||
− | + | 成功するとandroidだとgmailのページがアプリ内で開く。iosだと内製メーラーが開く。 | |
==エラーが出てしまう== | ==エラーが出てしまう== | ||
行35: | 行35: | ||
is also present at [androidx.core:core:1.0.2] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory). | is also present at [androidx.core:core:1.0.2] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory). | ||
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:11:5-34:19 to override. | Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:11:5-34:19 to override. | ||
+ | </pre> | ||
+ | |||
+ | ==メール送信エラー== | ||
+ | エラー詳細 | ||
+ | <pre> | ||
+ | [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(not_available, No email clients found!, null, null) | ||
+ | </pre> | ||
+ | |||
+ | 対応方法 | ||
+ | |||
+ | android/app/src/main/AndroidManifest.xml | ||
<pre> | <pre> | ||
+ | <intent-filter> | ||
+ | <action android:name="android.intent.action.SENDTO" /> | ||
+ | <data android:scheme="mailto" /> | ||
+ | </intent-filter> | ||
+ | </pre> | ||
+ | 参考:https://stackoverflow.com/questions/73234732/flutter-email-sender-doesnt-send-email |
2023年10月22日 (日) 02:13時点における最新版
flutter email senderとは
直でflutterからメール送信できるライブラリ
公式
https://pub.dev/packages/flutter_email_sender
インストール
pubspec.yaml
dependencies: flutter_email_sender: ^2.2.1
サンプル
import 'package:flutter_email_sender/flutter_email_sender.dart'; final Email email = Email( body: 'Email body', subject: 'Email subject', recipients: ['example@example.com'], cc: ['cc@example.com'], bcc: ['bcc@example.com'], attachmentPath: '/path/to/attachment.zip', isHTML: false, ); await FlutterEmailSender.send(email);
成功するとandroidだとgmailのページがアプリ内で開く。iosだと内製メーラーが開く。
エラーが出てしまう
androidx対応してるライブラリっぽいので、導入側プロジェクトにandroidxが対応しておらずエラーになってた。androidx対応したところ直った。
~/android/app/src/debug/AndroidManifest.xml:22:18-91 Error: Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.0.2] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:11:5-34:19 to override.
メール送信エラー
エラー詳細
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(not_available, No email clients found!, null, null)
対応方法
android/app/src/main/AndroidManifest.xml
<intent-filter> <action android:name="android.intent.action.SENDTO" /> <data android:scheme="mailto" /> </intent-filter>
参考:https://stackoverflow.com/questions/73234732/flutter-email-sender-doesnt-send-email