Вы можете использовать что-то вроде SendGrid для отправки электронного письма с мобильного телефона с помощью чего-то вроде этого: извините за плохое форматирование.
import 'package:http/http.dart' as http;
class SendGridUtil {
static sendRegistrationNotification(String email) async {
Map<String, String> headers = new Map();
headers["Authorization"] =
"Bearer $$$SENDGRIDAPIKEY$$$";
headers["Content-Type"] = "application/json";
var url = 'https://api.sendgrid.com/v3/mail/send';
var response = await http.post(url,
headers: headers,
body:
"{\n \"personalizations\": [\n {\n \"to\": [\n {\n \"email\": \"jerrod@liftaixxx.com\"\n },\n {\n \"email\": \"darran@gmailxxx.com\"\n }\n ]\n }\n ],\n \"from\": {\n \"email\": \"app@liftaixxx.com\"\n },\n \"subject\": \"New user registration\",\n \"content\": [\n {\n \"type\": \"text\/plain\",\n \"value\": \"New user register: $email\"\n }\n ]\n }");
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
}
}
Чтобы отправить электронное письмо из веб-сайта флаттера, вы можете использовать что-то вроде облачной функции Firebase - эта функция выполняется при создании нового пользователя в аутентификации Firebase:
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
const sgMail = require('@sendgrid/mail')
admin.initializeApp(functions.config().firebase);
exports.sendWelcomeEmail = functions.auth.user().onCreate(user => {
console.log("User with email created: " + user.email);
sgMail.setApiKey("$$$SENDGRIDKEY$$$");
const liftAiMsg = {
to: 'jerrod@liftaixxx.com',
from: 'app@liftaixxx.com',
subject: 'New user created',
text: 'New user created with email: ' +user.email,
html: "<strong>New user created with email: "+user.email+"</strong>",
};
sgMail.send(liftAiMsg);
const customerMsg = {
to: user.email,
from: 'app@liftaixxx.com',
subject: 'Welcome to LiftAI',
text: 'Welcome to LiftAI',
html: '<strong>Welcome to LiftAI!</strong>',
};
sgMail.send(customerMsg);
});