Merge pull request #110 from cloudron-io/master
Add support for reply-to field
This commit is contained in:
commit
8db3672a28
9 changed files with 48 additions and 5 deletions
|
@ -14,7 +14,7 @@ let mailer = require('../mailer');
|
||||||
let caches = require('../caches');
|
let caches = require('../caches');
|
||||||
let humanize = require('humanize');
|
let humanize = require('humanize');
|
||||||
|
|
||||||
let allowedKeys = ['description', 'from', 'address', 'subject', 'template', 'source_url', 'list', 'segment', 'html', 'text', 'tracking_disabled'];
|
let allowedKeys = ['description', 'from', 'address', 'reply_to', 'subject', 'template', 'source_url', 'list', 'segment', 'html', 'text', 'tracking_disabled'];
|
||||||
|
|
||||||
module.exports.list = (start, limit, callback) => {
|
module.exports.list = (start, limit, callback) => {
|
||||||
db.getConnection((err, connection) => {
|
db.getConnection((err, connection) => {
|
||||||
|
|
|
@ -12,3 +12,15 @@
|
||||||
from { -webkit-transform: rotate(0deg); }
|
from { -webkit-transform: rotate(0deg); }
|
||||||
to { -webkit-transform: rotate(360deg); }
|
to { -webkit-transform: rotate(360deg); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Supporting wider description lists */
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.dl-horizontal dt {
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dl-horizontal dd {
|
||||||
|
margin-left: 220px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -88,6 +88,7 @@ router.get('/create', passport.csrfProtection, (req, res) => {
|
||||||
|
|
||||||
data.from = data.from || configItems.defaultFrom;
|
data.from = data.from || configItems.defaultFrom;
|
||||||
data.address = data.address || configItems.defaultAddress;
|
data.address = data.address || configItems.defaultAddress;
|
||||||
|
data.replyTo = data.replyTo || '';
|
||||||
data.subject = data.subject || configItems.defaultSubject;
|
data.subject = data.subject || configItems.defaultSubject;
|
||||||
|
|
||||||
let view;
|
let view;
|
||||||
|
|
|
@ -333,6 +333,7 @@ function formatMessage(message, callback) {
|
||||||
name: campaign.from,
|
name: campaign.from,
|
||||||
address: campaign.address
|
address: campaign.address
|
||||||
},
|
},
|
||||||
|
replyTo: campaign.replyTo,
|
||||||
xMailer: 'Mailtrain Mailer (+https://mailtrain.org)',
|
xMailer: 'Mailtrain Mailer (+https://mailtrain.org)',
|
||||||
to: {
|
to: {
|
||||||
name: [].concat(message.subscription.firstName || []).concat(message.subscription.lastName || []).join(' '),
|
name: [].concat(message.subscription.firstName || []).concat(message.subscription.lastName || []).join(' '),
|
||||||
|
|
|
@ -56,6 +56,7 @@ CREATE TABLE `campaigns` (
|
||||||
`check_status` varchar(255) DEFAULT NULL,
|
`check_status` varchar(255) DEFAULT NULL,
|
||||||
`from` varchar(255) DEFAULT '',
|
`from` varchar(255) DEFAULT '',
|
||||||
`address` varchar(255) DEFAULT '',
|
`address` varchar(255) DEFAULT '',
|
||||||
|
`reply_to` varchar(255) DEFAULT '',
|
||||||
`subject` varchar(255) DEFAULT '',
|
`subject` varchar(255) DEFAULT '',
|
||||||
`html` longtext,
|
`html` longtext,
|
||||||
`html_prepared` longtext,
|
`html_prepared` longtext,
|
||||||
|
@ -209,7 +210,7 @@ CREATE TABLE `settings` (
|
||||||
`value` text NOT NULL,
|
`value` text NOT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `key` (`key`)
|
UNIQUE KEY `key` (`key`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4;
|
||||||
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (1,'smtp_hostname','localhost');
|
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (1,'smtp_hostname','localhost');
|
||||||
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (2,'smtp_port','465');
|
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (2,'smtp_port','465');
|
||||||
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (3,'smtp_encryption','TLS');
|
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (3,'smtp_encryption','TLS');
|
||||||
|
@ -226,7 +227,7 @@ INSERT INTO `settings` (`id`, `key`, `value`) VALUES (13,'default_from','My Awes
|
||||||
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (14,'default_address','admin@example.com');
|
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (14,'default_address','admin@example.com');
|
||||||
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (15,'default_subject','Test message');
|
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (15,'default_subject','Test message');
|
||||||
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (16,'default_homepage','http://localhost:3000/');
|
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (16,'default_homepage','http://localhost:3000/');
|
||||||
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (17,'db_schema_version','19');
|
INSERT INTO `settings` (`id`, `key`, `value`) VALUES (17,'db_schema_version','20');
|
||||||
CREATE TABLE `subscription` (
|
CREATE TABLE `subscription` (
|
||||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
`cid` varchar(255) CHARACTER SET ascii NOT NULL,
|
`cid` varchar(255) CHARACTER SET ascii NOT NULL,
|
||||||
|
|
11
setup/sql/upgrade-00020.sql
Normal file
11
setup/sql/upgrade-00020.sql
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# Header section
|
||||||
|
# Define incrementing schema version number
|
||||||
|
SET @schema_version = '20';
|
||||||
|
|
||||||
|
# Add reply_to field
|
||||||
|
ALTER TABLE `campaigns` ADD COLUMN `reply_to` varchar(255) DEFAULT '' AFTER `address`;
|
||||||
|
|
||||||
|
# Footer section
|
||||||
|
LOCK TABLES `settings` WRITE;
|
||||||
|
INSERT INTO `settings` (`key`, `value`) VALUES('db_schema_version', @schema_version) ON DUPLICATE KEY UPDATE `value`=@schema_version;
|
||||||
|
UNLOCK TABLES;
|
|
@ -91,7 +91,13 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="address" class="col-sm-2 control-label">Email "from" address</label>
|
<label for="address" class="col-sm-2 control-label">Email "from" address</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<input type="email" class="form-control" name="address" id="address" value="{{address}}" placeholder="This is the address people will send replies to" required>
|
<input type="email" class="form-control" name="address" id="address" value="{{address}}" placeholder="This is the address people will send replies to unless reply-to address is set" required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="address" class="col-sm-2 control-label">Email "reply-to" address</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="email" class="form-control" name="reply-to" id="reply-to" value="{{replyTo}}" placeholder="If set, this is the address people will send replies to">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
@ -102,7 +102,13 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="address" class="col-sm-2 control-label">Email "from" address</label>
|
<label for="address" class="col-sm-2 control-label">Email "from" address</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<input type="email" class="form-control" name="address" id="address" value="{{address}}" placeholder="This is the address people will send replies to" required>
|
<input type="email" class="form-control" name="address" id="address" value="{{address}}" placeholder="This is the address people will send replies to unless reply-to address is set" required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="reply-to" class="col-sm-2 control-label">Email "reply-to" address</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="email" class="form-control" name="reply-to" id="reply-to" value="{{replyTo}}" placeholder="If set, this is the address people will send replies to">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
@ -78,6 +78,11 @@
|
||||||
<dd>{{address}}</dd>
|
<dd>{{address}}</dd>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if replyTo}}
|
||||||
|
<dt>Email "reply-to" address</dt>
|
||||||
|
<dd>{{replyTo}}</dd>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if subject}}
|
{{#if subject}}
|
||||||
<dt>Email "subject line"</dt>
|
<dt>Email "subject line"</dt>
|
||||||
<dd>{{subject}}</dd>
|
<dd>{{subject}}</dd>
|
||||||
|
|
Loading…
Reference in a new issue