Rumah >hujung hadapan web >tutorial js >Cara menghantar e -mel dengan reaksi menggunakan resend
Artikel ini menunjukkan cara mengintegrasikan fungsi e -mel dengan lancar ke dalam aplikasi React anda menggunakan e -mel React dan Resend. Kami akan membina borang hubungan dalam aplikasi Next.js sebagai contoh praktikal. Sebelum ini, integrasi e -mel dalam React sangat mencabar, tetapi alat -alat ini secara drastik memudahkan proses.
Kelebihan utama:
Mulailah dengan mengkloning kod starter dari repositori GitHub yang disediakan. Projek starter termasuk aplikasi Next.js 13 asas (menggunakan penghala aplikasi) yang memaparkan borang hubungan dengan Zod dan Borang Hook React untuk pengesahan. Fungsi
dalam komponen borang hubungan adalah di mana kami akan menambah logik penghantaran e -mel kami:
onSubmit
<code class="language-javascript">function onSubmit(values: z.infer<typeof formschema="">) { // Email sending logic will be implemented here console.log(values); }</typeof></code>(Nota: Gaya dan bentuk bangunan ditinggalkan untuk keringkasan. Tailwind CSS atau CSS standard boleh digunakan untuk gaya.)
Mengkonfigurasi resend:
Sediakan pembolehubah persekitaran:
.env.local
<code>RESEND_API_KEY=your_api_key_here</code>Pengesahan Domain (Pilihan):
:
Tentukan antara muka untuk data e -mel:
Email.tsx
Buat komponen e -mel:
@react-email/components
Menghantar e -mel dengan Resend (api/send/route.ts
):
<code class="language-javascript">function onSubmit(values: z.infer<typeof formschema="">) { // Email sending logic will be implemented here console.log(values); }</typeof></code>
<code>RESEND_API_KEY=your_api_key_here</code>
<code class="language-javascript">import { Body, Container, Head, Heading, Hr, Html, Preview, Tailwind, Text } from "@react-email/components"; import * as React from "react";</code>
<code class="language-typescript">interface ContactMeEmailProps { name: string; emailAddress: string; phoneNumber: string; content: string; }</code>
onSubmit
dalam borang kenalan anda untuk menghantar permintaan pos ke /api/send
: <code class="language-javascript">const VercelInviteUserEmail = ({ name, content, emailAddress, phoneNumber }: ContactMeEmailProps) => ( <preview>A message from {name}</preview> <tailwind> <container classname="border border-solid border-[#eaeaea] rounded my-[40px] mx-auto p-[20px] w-[465px]"> <heading classname="text-black text-[24px] font-normal text-center p-0 my-[30px] mx-0"> <strong>{name}</strong> would like to contact you! </heading> <text classname="text-black text-[14px] leading-[24px]"> Here is the message: {content} </text> <hr classname="border border-solid border-[#eaeaea] my-[26px] mx-0 w-full"> <text classname="text-[#666666] text-[12px] leading-[24px]"> This message was sent by {name}. Contact them at {emailAddress} or {phoneNumber} </text> </container> </tailwind> );</code>
Ini melengkapkan fungsi penghantaran e -mel. Ingatlah untuk menggantikan alamat e -mel letak dengan alamat e -mel sebenar anda dan mengendalikan kesilapan yang berpotensi dengan sewajarnya. Kod sumber lengkap boleh didapati di GitHub (pautan yang disediakan dalam teks asal).
Atas ialah kandungan terperinci Cara menghantar e -mel dengan reaksi menggunakan resend. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!