vicigeeksimple guides
Browse
All guides

Phone system (Asterisk) · Email setup

How to send VICIdial voicemail to email with Asterisk and Postfix

Configure the mailbox in VICIdial Admin, review Asterisk attachment settings, validate Postfix and its deliverability signals, and complete a synthetic end-to-end delivery test.

Reader setup

Before you start

  1. An active VICIdial Phone mailbox or Other Voicemail Box and an internal test extension that reaches it
  2. An approved test recipient, sender domain and relay configuration
  3. Asterisk/Postfix administrative access and Delete Voicemail After Email set to N
Expected result
One synthetic voicemail recorded, submitted through Postfix and received with a playable attachment; repeated tests cannot guarantee exactly-once delivery.
Before making changes
Keep the server copy during testing. A recorded message or Postfix queue entry is not proof that the recipient received it.

01 / 07

How the delivery path fits together

Choose one test mailbox and an inbox you can inspect. Leave a short fictional message, then check the mailbox, mail queue and inbox; an attachment in the inbox is the end-to-end result.

Fast answer: set the mailbox email in VICIdial Admin, let VICIdial generate the mailbox in Asterisk, configure `attach=yes` and an approved sender in the global voicemail header, validate Postfix, leave a short synthetic voicemail, and verify the actual recipient receives one playable attachment.

There are three separate systems to prove: VICIdial owns mailbox data and regeneration, Asterisk records and submits the email through a sendmail-compatible command, and Postfix delivers directly or through the approved relay. Test every layer in order instead of calling a stored voicemail or queued message success.

Terms are defined in VICIdial terminology for complete beginners: users, phones, campaigns and leads.

  • Use a synthetic mailbox route and message with no customer data.
  • Keep Delete Voicemail After Email set to N.
  • Choose a sender domain the mail administrator can authenticate and support.
  • Record only sanitized result classes, never mailbox passwords or recipient details.
Trace path · read left to right
01VICIdial mailbox02Asterisk VoiceMail03Postfix queue → recipient

02 / 07

Step 1 — Configure the mailbox in VICIdial Admin

For a phone-owned mailbox, open its Phone record. For a standalone mailbox, open Administration → Voicemail and add or modify an Other Voicemail Box. Use a unique mailbox ID; the installed Admin rejects a standalone mailbox that conflicts with a Phone mailbox.

Set Email to the approved test recipient, Active to `Y`, and Delete Voicemail After Email to `N`. For Voicemail Zone, inspect the active `[zonemessages]` section of `/etc/asterisk/voicemail.conf` on the voicemail server and select the defined zone name whose mapped time zone matches the mailbox location. Asterisk’s sample configuration documents this mapping; if no suitable zone exists, stop and configure one through the installation’s managed configuration before continuing. Leave Voicemail Options empty unless each override has been reviewed. Submit the form and allow the normal keepalive cycle to rebuild the active voicemail server.

The recipient must be supplied by the mail administrator for an authorized test. This worksheet does not show a saved mailbox or delivered message.

Before you use it
Enter these in the intended Phone or Other Voicemail Box through VICIdial Admin. Do not put the recipient or mailbox password in a ticket.
Mailbox fields for the first test
Email: approved test recipientActive: YDelete Voicemail After Email: NVoicemail Zone: matching name from the active [zonemessages] mappingVoicemail Options: empty initially
Not executed · worksheet or reference text

This sample is a template or reading aid, not a terminal command. There is no output to show.

Success looks like
The record saves, remains active and requests the normal configuration rebuild while retaining on-server messages.
Stop if
Stop on an ID conflict, wrong voicemail server, unknown options or a generator error; do not hand-edit the generated mailbox line.

03 / 07

Step 2 — Review Asterisk attachment and sender settings

Back up `/etc/asterisk/voicemail.conf`, then edit only the managed `[general]` header through the site’s configuration process. VICIdial generates mailbox lines beneath that header, so never paste a mailbox password or recipient into a manual line.

Keep the existing recording format unless a tested migration of existing messages is planned; Asterisk warns that changing formats can affect existing mailbox messages. Set `attach=yes`, a deliverable sender in an approved domain and the supported sendmail-compatible command. Caller values in subject/body templates can expose personal data in email metadata; omit them unless policy explicitly allows them.

The mail administrator supplies the sender domain and confirms the actual sendmail-compatible path. These settings are an unexecuted worksheet; never publish the recipient or mailbox password.

Before you use it
Replace `<MAIL_DOMAIN>` with the mail administrator’s approved sender domain and merge these values into the existing managed `[general]` section.
Minimal reviewed voicemail email header
[general]; Keep the existing format setting unless migration is tested.serveremail=voicemail@<MAIL_DOMAIN>attach=yesfromstring=Company Voicemailmailcmd=/usr/sbin/sendmail -t
Not executed · worksheet or reference text

This sample is a template or reading aid, not a terminal command. There is no output to show.

Success looks like
The selected formats are supported, attachment is enabled and the sender is acceptable to the approved Postfix/relay design.
Stop if
Stop if the file is generated wholesale, the sender is unapproved, or an existing per-mailbox/global option conflicts.

04 / 07

Step 3 — Confirm the generated mailbox

A normal VICIdial mailbox save already triggers the generator’s application reload, so most of the time nothing further is needed here. If you also changed the global `[general]` header in Step 2, that edit only takes effect after an explicit reload — shown in the troubleshoot-and-rollback section below, because reloading changes the running configuration rather than just reading it.

The rebuild that follows an Admin save runs on VICIdial's own keepalive cycle rather than instantly, so allow a short delay after saving before assuming a save-triggered reload has already happened. A header edit applied with the explicit command in troubleshoot-and-rollback takes effect immediately instead, which is exactly why that command belongs with the state-changing steps rather than here.

List users only in the private server terminal because the output includes mailbox and recipient information. Confirm the intended mailbox appears in the `default` context, then close the terminal without copying the raw line elsewhere.

Before you use it
Run on the active voicemail server after the VICIdial rebuild, and again after any reload triggered by a reviewed `[general]` header change. This command lists every mailbox on the server, so no captured run is published here — check the result yourself in the private terminal, exactly as described above.
Inspect the installed voicemail application and mailbox list
sudo asterisk -rx 'core show application VoiceMail'sudo asterisk -rx 'voicemail show users for default'
Reader-run example · not executed for this guide

This example has no recorded result here. Follow its preparation, expected result and stop conditions before using it.

Success looks like
VoiceMail is available and the intended mailbox appears once in the default context.
Stop if
Stop if the mailbox is absent, duplicated or in the wrong context. Fix the Admin record/generator path rather than adding a manual line.

05 / 07

Step 4 — Validate Postfix and the approved relay path

Asterisk hands the message to the local sendmail interface; Postfix owns delivery from there. With the mail administrator, validate service state and configuration, then review `myhostname`, `myorigin`, `relayhost`, TLS, authentication and sender rewriting locally.

`postqueue -p` is useful during the test but can show recipient and message metadata, so do not paste its output publicly. An empty queue can mean delivery or rejection after logging; the recipient result and sanitized mail response still decide success.

A clean Postfix check validates aspects of local configuration; it does not prove delivery or recipient acceptance. Ask the mail administrator to verify the sending domain’s SPF, DKIM and DMARC policy with the current recipient/provider requirements.

When `relayhost` is empty, Postfix attempts direct delivery to the recipient's mail exchanger, and many cloud and hosting IP ranges cannot do that reliably because receiving providers rate-limit or block unfamiliar senders. Route PBX mail through the organization's approved relay unless direct delivery from this specific server is already an established, monitored path.

This example assumes Postfix. If another transport is installed, use its equivalent status, queue and configuration checks. Ask the mail administrator to verify the actual reverse DNS, hostname, relay and recipient requirements; do not assume any one DNS setting guarantees inbox placement.

The empty queue shown in the historical ViciBox 12 capture is a baseline from that lab, not evidence of a delivered voicemail on this installation.

Before you use it
Run with the mail administrator and use the organization’s approved relay configuration for any credentials. The captured run below shows an empty queue, so nothing private is exposed here; once a real voicemail is in flight, keep that queue output in your own private terminal instead of pasting it anywhere.
Validate the local Postfix layer
sudo systemctl is-active postfixsudo postfix checksudo postconf -h mail_versionsudo postconf -h relayhostsudo postqueue -p
Evidence · ViciBox 12 demo capture

Captured demo response · 2026-09-24 22:25 UTC. Any filtering, hidden values or test-only data are identified in the capture label. Select Replay transcript to read the recorded output.

Command output line: sudo systemctl is-active postfix
active
Command output line: sudo postfix check
(no output)
Command output line: sudo postconf -h mail_version
3.8.4
Command output line: sudo postconf -h relayhost
(no output)
Command output line: sudo postqueue -p
Mail queue is empty
Success looks like
`systemctl is-active postfix` reports active, `postfix check` prints nothing — silence is the pass, not a stall — and `postconf -h mail_version` reports the installed version. `postqueue -p` shows an empty queue, the expected baseline before Step 5 sends a test message. `postconf -h relayhost` should show your organization’s approved relay; on our ViciBox 12 lab it prints empty, meaning direct delivery, exactly the case the paragraph above warns is usually unreliable for a hosted server.
Stop if
Stop on an inactive service, any output from `postfix check`, an empty `relayhost` when your organization requires an approved relay, or a persistent deferred queue; fix the mail layer before placing a voicemail.

06 / 07

Step 5 — Leave one synthetic message and prove delivery

Call the internal test extension that reaches your mailbox, leave a short fictional message, and end the call normally. Confirm the mailbox stores a non-zero recording, Postfix accepts the notification, the queue clears or records successful relay delivery, and the intended recipient receives exactly one message with a playable attachment.

Compare the attachment duration with the test message and check sender, subject, timestamp and spam placement. Repeat after the next scheduled VICIdial configuration rebuild to prove the Admin-managed mailbox persists.

This call and delivery check are prospective and require a separately authorized synthetic route and mailbox. No voicemail or recipient delivery is shown as completed here.

Before you use it
Complete with pass/fail only after one approved synthetic voicemail; do not add recipient, queue, caller, mailbox or filename values.
End-to-end acceptance record
mailbox generated: PASS | FAILsynthetic recording non-zero: PASS | FAILPostfix accepted: PASS | FAILrelay/delivery response: PASS | FAILrecipient received one attachment: PASS | FAILattachment playable and duration plausible: PASS | FAIL
Not executed · worksheet or reference text

This sample is a template or reading aid, not a terminal command. There is no output to show.

Success looks like
All six checks pass twice, including one test after a normal VICIdial rebuild.
Stop if
Stop rollout at the first failed layer and correct that mailbox, Asterisk, Postfix, relay, DNS or recipient issue.

07 / 07

Troubleshoot by layer and roll back only the mailbox

Mailbox absent means revisit the active Phone/Voicemail record and generator. Stored message with no submission means check Email, `attach`, `mailcmd` and Asterisk logs. A growing queue points to relay, DNS, authentication, TLS or sender identity—not a VICIdial mailbox problem. A delivered message without audio points to attachment format/options or recipient filtering.

If a recipient receives a notification without audio, inspect attachment settings and the recipient provider’s accepted formats. If delivery is rejected, check the actual Postfix and recipient message-size limits and private logs before changing the established recording format.

A voicemail notification showing the wrong caller identity is not a mailbox or mail-transport fault. Trace the inbound route and dialplan that set caller ID before the call reached `VoiceMail()` on your own installed dialplan, rather than copying a version-specific forum patch into production to change how the notification displays a caller.

To stop notifications, clear only that mailbox’s Email field and submit it, or deactivate the mailbox only if voicemail itself must stop. Keep delete-after-email at `N`, let the normal rebuild apply, and revert global header changes through configuration management. Do not disable Postfix globally because other system notifications may depend on it.

The reload and mailbox changes are prospective; record success only after separately verifying the configured mailbox and an authorized synthetic message.

Before you use it
Run only after restoring the previous `[general]` header, or any other reviewed header correction, through configuration management — never by hand-editing the live file alone.
Apply a reverted or corrected header change
sudo asterisk -rx 'voicemail reload'
Reader-run example · not executed for this guide

This example has no recorded result here. Follow its preparation, expected result and stop conditions before using it.

Success looks like
The reload reports success. Verify the header behavior with a synthetic voicemail; the mailbox list alone does not prove global settings took effect.
Stop if
If behavior does not change, confirm the file actually deployed was the reverted one and not a copy the next VICIdial rebuild will overwrite.

Checks and sources

What was checked

  • Guide source: the VICIdial voicemail-to-email workflow documents the Admin fields, generated Asterisk behavior, voicemail header, Postfix checks, end-to-end test and mailbox-level rollback reproduced here.
  • Revision boundary: VICIdial's mailbox generator owns mailbox entries; a manually added line does not survive the next configuration rebuild.
  • Delivery boundary: local components being present is not external delivery proof; the reader must complete the recipient test.

Primary references

Sources

  1. Asterisk voicemail overviewAsterisk · accessed August 4, 2026
  2. Asterisk voicemail configuration sampleAsterisk · accessed August 4, 2026
  3. Postfix basic configurationPostfix · accessed August 4, 2026
  4. Postfix TLS supportPostfix · accessed August 4, 2026
  5. Asterisk single-line configuration commentsAsterisk · accessed November 7, 2026

Follow without guesswork

Get the next article

RSS is live now. Email delivery below is an explicit local preview and sends nothing.Open the RSS feed
Email preview only. The address stays in this browser and is never transmitted.