Day One 3.8 Brings Ability to Email Entries into Day One



The folks at Day One are on a roll. Not too long ago, they released version 3.7 which included the ability to automatically import photos from your Instagram feed, and just last week they released version 3.8 which allows you to email entries into Day One.
Email an Entry allows you to send, forward, or BCC an email directly to your journal using the unique email address assigned to you in your Journal Settings. You can save a contact for each journal you wish to send email to and include a contact image of the Day One icon in the selected journal color to make them easily identifiable. You cannot email attachments into Day One, but this feature does work with encrypted journals. It also supports the same Markdown formatting, so if you email a bunch of Markdown into a Day One journal, the entry will be created and display correctly. Since it needs a sync account to work, it requires a Premium subscription ($34.99/year). Personally, we love Day One here at The Sweet Setup and feel the subscription price is more than fair.
One thing that’s kind of interesting is that both the Instagram importer and the ability to email into Day One have been features supported by IFTTT for a long time (see this post from a couple of years ago), but relying on IFTTT to connect the pipes always felt like a duct-tape approach that could break at any moment. IFTTT is great because it opens up a lot of possibilities for connecting different internet applications together, but adding an additional layer does make things less reliable. More than once, we’ve been left scratching our heads trying to figure out what went wrong when an IFTTT automation stopped working — usually with no prior warning or explanation. We’re much more comfortable using (and recommending) these features now that they are officially supported directly in the application.

Wait! There’s more….
How to Use Day One in Your Life
For a the best journaling app, you won’t do better than Day One. And if you want to discover how to use this app more regularly, and take full advantage of all its features, then we have some video screencasts that can help you.
In our course, Day One in Depth , you get 8 video screencasts that will take you line by line through every feature, setting, preference, and option found in Day One.
We’ll show you…

Complete walkthrough of the Mac and iOS apps.
How to create and customize your journal entries (from text, to photo, to audio)
How to find, filter, export, and more.



Plus! You will get bonus tips, workflows, and tutorials for how best to use Day One to suit your own needs: from a morning writing time to a photographic travel log, to weekly reviews and productivity journaling — Day One can do it all and we will show you how.
GET THE COURSE: $29



window.rmpanda = window.rmpanda || {};
window.rmpanda.wpvars = window.rmpanda.wpvars || {};

var debug = (window.rmpanda || {}).debug || /rmdebug=1/.test(window.location.search);
var logger = {};
Object.keys(console).forEach(f => {
if (typeof console[f] === 'function') {
logger[f] = function() {
debug && console[f].apply(console, Array.prototype.slice.call(arguments));
};
}
});

function pipelistToArray(pipelist) {
return (pipelist || '').replace(/^|||$/g, '').split('|');
}

function arrayToPipelist(array) {
return '|' + (array || []).join('|') + '|';
}

function createLeaderboard(cachedPosts, dataKey) {
var leaderboard = {};
var totalRead = cachedPosts.length;

cachedPosts.forEach(function(pageview, idx) {
var pID = pageview[0]; var slugs = pageview[1][dataKey];
var score = 0.5 + ((1.0 - (idx / totalRead)) * 0.5);
slugs.forEach(function(slug) {
leaderboard[slug] = leaderboard[slug] || 0;
leaderboard[slug] += score;
});
});

return leaderboard;
}

function findLeaderboardWinners(leaderboard) {
var winningScore = 0;
var winners = [];
Object.keys(leaderboard).forEach(function(candidate) {
var candidateScore = leaderboard[candidate];
if (candidateScore >= winningScore) {
winningScore = candidateScore;
if (candidateScore > winningScore) {
winners = [];
}
winners.push(candidate);
}
});
return winners;
}

window.rmpanda.wpvars = {};

var cachedPosts = JSON.parse(localStorage.getItem('rmCachedPosts')) || [];


var categoriesLeaderboard = createLeaderboard(cachedPosts, 'categories');
logger.log("CATEGORIES LEADERBOARD:", categoriesLeaderboard);

var tagsLeaderboard = createLeaderboard(cachedPosts, 'tags');
logger.log("TAGS LEADERBOARD:", tagsLeaderboard);

window.rmpanda.wpvars.favoriteCategorySlugs = arrayToPipelist(findLeaderboardWinners(categoriesLeaderboard));
window.rmpanda.wpvars.favoriteTagSlugs = arrayToPipelist(findLeaderboardWinners(tagsLeaderboard));

localStorage.setItem('rmCachedPosts', JSON.stringify(cachedPosts));




window.rmpanda = window.rmpanda || {};
window.rmpanda.wpvars = window.rmpanda.wpvars || {};

var debug = (window.rmpanda || {}).debug || /rmdebug=1/.test(window.location.search);
var logger = {};
Object.keys(console).forEach(f => {
if (typeof console[f] === 'function') {
logger[f] = function() {
debug && console[f].apply(console, Array.prototype.slice.call(arguments));
};
}
});

function pipelistToArray(pipelist) {
return (pipelist || '').replace(/^|||$/g, '').split('|');
}

function arrayToPipelist(array) {
return '|' + (array || []).join('|') + '|';
}

function createLeaderboard(cachedPosts, dataKey) {
var leaderboard = {};
var totalRead = cachedPosts.length;

cachedPosts.forEach(function(pageview, idx) {
var pID = pageview[0]; var slugs = pageview[1][dataKey];
var score = 0.5 + ((1.0 - (idx / totalRead)) * 0.5);
slugs.forEach(function(slug) {
leaderboard[slug] = leaderboard[slug] || 0;
leaderboard[slug] += score;
});
});

return leaderboard;
}

function findLeaderboardWinners(leaderboard) {
var winningScore = 0;
var winners = [];
Object.keys(leaderboard).forEach(function(candidate) {
var candidateScore = leaderboard[candidate];
if (candidateScore >= winningScore) {
winningScore = candidateScore;
if (candidateScore > winningScore) {
winners = [];
}
winners.push(candidate);
}
});
return winners;
}

window.rmpanda.wpvars = {};

var cachedPosts = JSON.parse(localStorage.getItem('rmCachedPosts')) || [];


var categoriesLeaderboard = createLeaderboard(cachedPosts, 'categories');
logger.log("CATEGORIES LEADERBOARD:", categoriesLeaderboard);

var tagsLeaderboard = createLeaderboard(cachedPosts, 'tags');
logger.log("TAGS LEADERBOARD:", tagsLeaderboard);

window.rmpanda.wpvars.favoriteCategorySlugs = arrayToPipelist(findLeaderboardWinners(categoriesLeaderboard));
window.rmpanda.wpvars.favoriteTagSlugs = arrayToPipelist(findLeaderboardWinners(tagsLeaderboard));

localStorage.setItem('rmCachedPosts', JSON.stringify(cachedPosts));


Top News