63 lines
1.2 KiB
Markdown
63 lines
1.2 KiB
Markdown
# Support Email Site
|
|
|
|
A Next.js contact form with shadcn-ui that sends emails via SMTP.
|
|
|
|
## Setup
|
|
|
|
1. Install dependencies:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
2. Copy `.env.example` to `.env.local`:
|
|
```bash
|
|
cp .env.example .env.local
|
|
```
|
|
|
|
3. Configure your SMTP settings in `.env.local`:
|
|
```env
|
|
SMTP_HOST=smtp.example.com
|
|
SMTP_PORT=587
|
|
SMTP_SECURE=false
|
|
SMTP_USER=your-email@example.com
|
|
SMTP_PASSWORD=your-smtp-password
|
|
SMTP_FROM=your-email@example.com
|
|
```
|
|
|
|
4. Run the development server:
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
5. Open [http://localhost:3000](http://localhost:3000) in your browser.
|
|
|
|
## Features
|
|
|
|
- Contact form with name, email, and message fields
|
|
- Server-side email sending via SMTP
|
|
- Form validation
|
|
- Loading states and error handling
|
|
- Built with Next.js 16 and shadcn-ui
|
|
- Responsive design
|
|
|
|
## SMTP Configuration
|
|
|
|
- `SMTP_HOST`: Your SMTP server hostname
|
|
- `SMTP_PORT`: SMTP port (typically 587 for TLS, 465 for SSL, or 25)
|
|
- `SMTP_SECURE`: Set to `true` for SSL (port 465), `false` for TLS (port 587)
|
|
- `SMTP_USER`: Your SMTP username/email
|
|
- `SMTP_PASSWORD`: Your SMTP password
|
|
- `SMTP_FROM`: The email address to send from (defaults to SMTP_USER if not set)
|
|
|
|
## Build
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
## Lint
|
|
|
|
```bash
|
|
npm run lint
|
|
```
|