Used to send Parse Server password reset and email verification emails though HubSpot
Create your emails within your HubSpot dashboard first!
In your HubSpot emails for Email Verification & Password Reset please create properties based off of this PublicSingleSendRequestEgg:
{
message: { recipient },
contactProperties: { firstname },
customProperties: { link }, // the link that Parse will create for respective action above
emailId: 'your email id for respective email template'
}
Generic Email: The body of the generic email will be passed in as a string of markdown.
{
message: { recipient },
customProperties: { body },
emailId: 'your email id for respective email template'
}
const server = ParseServer({
...
emailAdapter: {
module: 'parse-hubspot-mail-adapter',
options: {
// Your Access Token for HubSpot
accessToken: 'your-hubspot-access-token',
// Used for modifying a custom subject line if genericOnly flag is used
// i.e. appName: 'app' --> Subject lines will be "app | Verify your email"
appName: 'Name of your app',
// Your verification email ID
verificationEmailId: 'email-id-for-verification-email',
// Your Password Reset email ID
passwordResetEmailId: 'email-id-for-password-reset-email',
// Your generic email ID
genericEmailId: 'email-id-for-generic-email',
// This will send the email verification, password reset email with your generic Email Id
// true if you want to create your emails with HTML instead of creating them in HubSpot.
genericOnly?: boolean,
// paths to point to your email html files
verificationEmailFolder: './public/path/to/verificationEmails',
passwordResetFolder: './public/path/to/passwordResetEmails',
// The name property of the Parse User you'd like to use ('firstName', 'name', 'username')
// defaults to 'firstName' if no property is passed in
defaultNameProperty: 'firstName',
// default language if a user does not have a preferred language
defaultUserLanguage: 'en',
// the name of the column of the user properties for language preferences
userLanguagePropertyName: 'lang'
}
}
...
});
If you want to send emails based off of a users language please create a folder with two seperate folders for each kind of Email you'd like to send:
example
public
├───i18n
│ ├───passwordReset // en.html, ja.html, ar.html
│ └───verificationEmail // en.html, ja.html, ar.html
HTML Templates: en.html:
<div>
<p> Hello <%= firstname %><p>
<p> Please verify your email with this <a href="<%= link %>">link</a>.<p>
</div>
Please write your HTML with the ejs template sytax, as this adapter will be looking to replace them.