Skip to content

coreyzev/url2png-email

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

url2png-email

Use the url2png api service and nodejs to email a screenshot of a live website.

Especially useful if added to cron.

Mostly just a placeholder for the working bits until I turn it into an actual modular tool that can be used inside other projects.


Edit your index.js for the variables you want to use.

requires mutt. Run mutt once to set it up.

apt-get install mutt


example & default index.json:

var fs = require('fs');
var exec = require('child_process').execSync;

var API_KEY = 'XXXXXXXXXXXX'; // your url2png APIKEY
var PRIVATE_KEY = 'XXXXXXXXXXXX'; // your url2png SECRET

var url2png = require('url2png')(API_KEY, PRIVATE_KEY);

var dest = fs.statSync('/tmp/message.txt').isFile();
if (!dest) fs.writeFileSync('/tmp/message.txt');

var options = {
    viewport: '940x580',
    thumbnail_max_width : 940,
    protocol: 'https',
    delay: 10,
    unique: Date.now(),
    ttl: 60 * 60 * 24 * 2
};

var time = exec('date +%Y-%m-%d_%H-%M');
var image_name = 'wag'; // name your file
var img_file = image_name + '_' + time + '.png';
img_file = img_file.replace(/[\s\?]/gm,'');

var url = 'google.com'; // the url you wish to have screenshotted and emailed to you
var recipient = '[email protected]'; // email to recieve the picture
var subject = "Subject Line"; // Subject line, be careful to escape quotes


var stream = url2png.readURL(url, options).pipe(fs.createWriteStream(img_file));

stream.on('finish', function() {
    exec('mutt -a ' + img_file + ' -s "' + subject + '" -- ' + recipient + ' < /tmp/message.txt');
    exec('rm '+ img_file);
});

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published