Sending an Email
Use this example to send a transactional email through Leadpush SMTP from your application.
This page shows simple SMTP examples you can use after your workspace is set up. It includes a Node.js example with nodemailer and a swaks example for quick command-line SMTP verification.
Before you send
Make sure all of these are already true:
- your sending domain is verified
- the exact
fromaddress has completed sender verification - you created an SMTP credential in the workspace
- you know the SMTP host:
smtp.leadpush.net - you know the SMTP port:
587
If any of those are not ready yet, start with:
Example environment variables
Store the SMTP settings and sender details in environment variables so you can keep the credential out of source control.
LEADPUSH_SMTP_HOST=smtp.leadpush.net
LEADPUSH_SMTP_PORT=587
LEADPUSH_SMTP_USERNAME=your-generated-username
LEADPUSH_SMTP_PASSWORD=your-generated-password
LEADPUSH_SMTP_FROM=alerts@example.com
Example using Node.js and Nodemailer
Install nodemailer, then send a test email with the verified sender address from your workspace.
import nodemailer from 'nodemailer'
const transporter = nodemailer.createTransport({
host: process.env.LEADPUSH_SMTP_HOST || 'smtp.leadpush.net',
port: Number(process.env.LEADPUSH_SMTP_PORT || 587),
secure: false,
auth: {
user: process.env.LEADPUSH_SMTP_USERNAME,
pass: process.env.LEADPUSH_SMTP_PASSWORD,
},
})
async function main() {
const info = await transporter.sendMail({
from: process.env.LEADPUSH_SMTP_FROM || 'alerts@example.com',
to: 'customer@example.com',
subject: 'Your password reset link',
text: 'Use this link to reset your password: https://example.com/reset',
html: `
<p>Use this link to reset your password:</p>
<p><a href="https://example.com/reset">Reset password</a></p>
`,
})
console.log('Message queued:', info.messageId)
}
main().catch((error) => {
console.error('Failed to send email', error)
process.exit(1)
})
Example using swaks
Use swaks when you want to verify SMTP authentication and message acceptance from the command line before wiring the same settings into your application.
swaks \
--server smtp.leadpush.net \
--port 587 \
--tls \
--auth LOGIN \
--auth-user "$LEADPUSH_SMTP_USERNAME" \
--auth-password "$LEADPUSH_SMTP_PASSWORD" \
--from "$LEADPUSH_SMTP_FROM" \
--to "customer@example.com" \
--header "Subject: Your password reset link" \
--body "Use this link to reset your password: https://example.com/reset"
What to replace in the example
Update these values before using the sample in a real application:
- replace
your-generated-usernameandyour-generated-passwordwith the SMTP credential from your workspace - replace
alerts@example.comwith a verified sender address from your workspace - replace
customer@example.comwith a real test recipient - replace the subject and body with the transactional message your app needs to send
- if you use
swaks, make sure the shell environment contains the same SMTP username, password, and from address values
What a successful test should prove
A good first test should confirm that:
- your application can authenticate with the SMTP credential
- the message is accepted using
smtp.leadpush.neton port587 - the verified sender address appears correctly in the recipient inbox
- the recipient receives the email generated by the same code path you plan to use in production
Troubleshooting
Related reading
Explore this topic
Continue exploring this topic
Connect this guide to relevant product capabilities, implementation details, and practical email workflows.