60 lines
1.3 KiB
TypeScript
60 lines
1.3 KiB
TypeScript
import type { Field } from 'payload'
|
|
|
|
/**
|
|
* SMTP transport settings for outbound email.
|
|
*
|
|
* Protected at the global level (SiteIntegrations requires an authenticated
|
|
* user), so all fields — including the password — stay editable in the admin
|
|
* panel while remaining inaccessible to anonymous API requests.
|
|
*/
|
|
export const smtpFields: Field[] = [
|
|
{
|
|
type: 'row',
|
|
fields: [
|
|
{
|
|
name: 'smtpHost',
|
|
type: 'text',
|
|
admin: { placeholder: 'smtp.example.com', width: '70%' },
|
|
},
|
|
{
|
|
name: 'smtpPort',
|
|
type: 'number',
|
|
admin: { width: '30%' },
|
|
defaultValue: 587,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'smtpUser',
|
|
type: 'text',
|
|
admin: {
|
|
description: 'SMTP account username.',
|
|
},
|
|
},
|
|
{
|
|
name: 'smtpPassword',
|
|
type: 'text',
|
|
admin: {
|
|
description: 'SMTP account password.',
|
|
// Masked in the UI (••••) — stored plaintext, readable for SMTP auth.
|
|
components: {
|
|
Field: '@intecion/ipal-kit/client#MaskedField',
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: 'smtpFromAddress',
|
|
type: 'email',
|
|
admin: {
|
|
description: 'Default "from" address for outgoing mail.',
|
|
},
|
|
},
|
|
{
|
|
name: 'smtpFromName',
|
|
type: 'text',
|
|
admin: {
|
|
description: 'Default "from" display name.',
|
|
},
|
|
},
|
|
]
|