콘텐츠로 이동

이메일

앱에서 트랜잭션 이메일을 전송하세요. Dashboard > Emails또는 SDK에서 발신자 ID를 관리하고 전송 상태를 추적할 수 있습니다.

모든 Proyecta 앱은 트랜잭션 이메일을 전송할 수 있습니다. 발신자 ID를 인증한 후 앱 코드에서 바로 전송하면 됩니다 — 별도의 이메일 제공업체 계정이 필요하지 않습니다.

Builder에서 Dashboard > Emails를 여세요. 이 탭에는 두 개의 하위 탭이 있습니다:

용도
Identities발신자 이메일 주소 또는 도메인 추가 및 인증
Sent전송된 이메일과 전송 상태(sent, delivered, bounced 등) 조회

코드를 작성하지 않고도 새 발신자 ID를 추가하고 이메일 전송 내역을 확인할 수 있습니다.

  1. 발신자 ID 생성 및 인증 (이메일 주소 또는 도메인)
  2. proyecta.email.send() 호출from 필드에 인증된 주소 입력

가장 간단한 방법은 단일 이메일 주소를 인증하는 것입니다.

import Proyecta from '@proyecta-ai/sdk';
const proyecta = new Proyecta({ apiKey: process.env.PROYECTA_API_KEY });
const identity = await proyecta.email.identities.create({
type: 'email',
value: 'hello@myapp.com',
});
// identity.status === 'verified' immediately upon creation

인증 확인을 다시 실행하려면:

await proyecta.email.identities.verify({ identityId: identity.id });

프로덕션 앱의 경우, 해당 도메인의 모든 주소(hello@, support@, noreply@ 등)에서 전송할 수 있도록 도메인 전체를 인증하세요.

const identity = await proyecta.email.identities.create({
type: 'domain',
value: 'myapp.com',
});
// identity.status === 'verified' immediately upon creation

DNS 기반 도메인 인증(SPF/DKIM 레코드 생성 및 재확인)은 계획 중이나 아직 구현되지 않았습니다.

ID 인증이 완료되면 다음과 같이 전송하세요:

await proyecta.email.send({
from: 'Acme <hello@myapp.com>',
to: 'customer@example.com',
subject: 'Your receipt from Acme',
html: '<p>Thanks for your order — here are the details.</p>',
text: 'Thanks for your order — here are the details.',
});

send는 전송된 이메일 객체 전체(id, last_event, 메시지 필드 포함)를 반환하며, 이를 통해 나중에 전송 상태를 조회할 수 있습니다.

수신자. to, cc, bcc 모두 단일 주소 또는 배열을 허용합니다.

콘텐츠. html, text 중 하나 또는 둘 다 제공할 수 있습니다. 전송 성공률을 높이려면 일반 텍스트 버전을 함께 포함하세요.

Reply-to, 커스텀 헤더, 메타데이터 태그. reply_to는 지원됩니다(첫 번째 주소가 사용됨). 커스텀 헤더와 메타데이터 태그는 API에서 허용되지만 아직 전송 provider로 전달되지 않습니다.

최신 전송 이벤트와 함께 전송된 이메일 목록(페이지네이션)을 조회하세요:

const { data: emails } = await proyecta.email.list({ limit: 20 });
for (const email of emails) {
console.log(email.subject, '', email.last_event);
// last_event: 'sent' | 'delivered' | 'opened' | 'clicked' | 'bounced' | 'complained'
}

전체 HTML/텍스트 본문이 포함된 단일 이메일을 가져오려면:

const full = await proyecta.email.get('email_abc123');
console.log(full.html, full.text, full.last_event);

직접 코드를 작성할 필요가 없습니다:

  • "Verify hello@myapp.com as a sending identity."
  • "Send a welcome email with Proyecta Email whenever a new user signs up. Use a nice HTML template."
  • "After a successful checkout, send the customer a receipt using proyecta.email.send."
  • "Show me the last 20 emails we've sent and whether they bounced."
  • from 주소는 반드시 인증된 ID여야 합니다. 인증되지 않은 주소로 전송하면 오류가 반환됩니다.
  • 월간 한도가 적용됩니다 (Proyecta 플랜에 따라 다름).
  • 템플릿 편집기 — Builder에서 트랜잭션 템플릿을 시각적으로 디자인
  • 대량/일괄 전송 endpoint — 대규모 메일 발송용