Skip to content

Commit

Permalink
Revert email adapter changes
Browse files Browse the repository at this point in the history
  • Loading branch information
andreascreten committed Feb 4, 2025
1 parent 96ab0d9 commit ddebaa1
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 19 deletions.
9 changes: 1 addition & 8 deletions ghost/core/config.development.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
{
"enableDeveloperExperiments": true,
"adapters": {
"mail": {
"active": "mailgun",
"mailgun": {},
"postmark": {}
}
}
"enableDeveloperExperiments": true
}
1 change: 0 additions & 1 deletion ghost/core/content/adapters/mail/mailgun.js

This file was deleted.

1 change: 0 additions & 1 deletion ghost/core/content/adapters/mail/postmark.js

This file was deleted.

2 changes: 1 addition & 1 deletion ghost/core/core/server/services/adapter-manager/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ adapterManager.registerAdapter('storage', require('ghost-storage-base'));
adapterManager.registerAdapter('scheduling', require('../../adapters/scheduling/scheduling-base'));
adapterManager.registerAdapter('sso', require('../../adapters/sso/SSOBase'));
adapterManager.registerAdapter('cache', require('@tryghost/adapter-base-cache'));
adapterManager.registerAdapter('mail', require('../../adapters/mail/MailAdapterBase'));
adapterManager.registerAdapter('mail', require('../../../../../mailgun-client/index'));

module.exports = {
/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
const debug = require('@tryghost/debug')('i18n');
const logging = require('@tryghost/logging');
const url = require('../../api/endpoints/utils/serializers/output/utils/url');
const adapterManager = require('../adapter-manager');
const configService = require('../../../shared/config');
const settingsCache = require('../../../shared/settings-cache');
const mailClient = adapterManager.getAdapter('mail', undefined, {config: configService, settings: settingsCache});
const events = require('../../lib/common/events');
const MailgunClient = require('@tryghost/mailgun-client');
const PostmarkClient = require('@tryghost/postmark-client');

class EmailServiceWrapper {
getPostUrl(post) {
Expand All @@ -14,8 +12,18 @@ class EmailServiceWrapper {
return jsonModel.url;
}

getMailClient() {
return mailClient;
getMailClient(settingsCache, configService) {
if (settingsCache.get('bulk_email_provider') === 'postmark') {
// Postmark client instance for email provider
return new PostmarkClient({
config: configService, settings: settingsCache
});
}

// Mailgun client instance for email provider
return new MailgunClient({
config: configService, settings: settingsCache
});
}

init() {
Expand All @@ -25,6 +33,8 @@ class EmailServiceWrapper {

const {EmailService, EmailController, EmailRenderer, SendingService, BatchSendingService, EmailSegmenter, BulkEmailProvider} = require('@tryghost/email-service');
const {Post, Newsletter, Email, EmailBatch, EmailRecipient, Member} = require('../../models');
const configService = require('../../../shared/config');
const settingsCache = require('../../../shared/settings-cache');
const settingsHelpers = require('../settings-helpers');
const jobsService = require('../jobs');
const membersService = require('../members');
Expand Down Expand Up @@ -52,6 +62,8 @@ class EmailServiceWrapper {
sentry.captureException(error);
};

let mailClient = this.getMailClient(settingsCache, configService);

const bulkEmailProvider = new BulkEmailProvider({
mailClient,
errorHandler
Expand Down
2 changes: 1 addition & 1 deletion ghost/mailgun-client/lib/MailgunClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ module.exports = class MailgunClient extends MailAdapterBase {
* @param {Object} mailgunConfig
* @param {Object} mailgunOptions
*/
async getEvents(mailgunInstance, mailgunConfig, mailgunOptions) {
async getEventsFromMailgun(mailgunInstance, mailgunConfig, mailgunOptions) {
const startTime = Date.now();
try {
const page = await mailgunInstance.events.get(mailgunConfig.domain, mailgunOptions);
Expand Down
2 changes: 1 addition & 1 deletion ghost/postmark-client/lib/PostmarkClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ module.exports = class PostmarkClient extends MailAdapterBase {
* @param {ServerClient} postmarkInstance
* @param {Date} startTime
*/
async getEvents(postmarkInstance, startTime) {
async getEventsFromPostmark(postmarkInstance, startTime) {
try {
const page = await postmarkInstance.getMessageOpens();
metrics.metric('postmark-get-events', {
Expand Down

0 comments on commit ddebaa1

Please sign in to comment.