Skip to content

Iguannaweb/backupmail

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

What is BackupMail?

I have a lot of mails accounts, I think it's a problem, but that is another question. One day thinking about backups my info I thounght how it will be to backups all my mails in my mail accounts, phisically.

User demo: admin | Pass demo: backupmail

» Explore the docs « · » View Demo « · » Report Bug « · » Request Feature «

Send a sample email to: backupmail@iguannaweb.com

Table of Contents

About The Project

Alt

Screenshots

Temporal HOME PAGE screenshot

This is just a temporal home page screenshot.

Temporal TAG PAGE screenshot

This is just a temporal tag page screenshot.

Login PAGE screenshot

This is just a temporal login page screenshot.

This is a work in progress!

Built With

Getting Started

To get your own backup mail working, you need a server with PHP7 and extension Mailparse installed. Yo need to install composer to fetch dependencies.

Prerequisites

Install mailparse extension

Remember PHP compability

  • Tested to PHP 7.4.33

Ubuntu, Debian & derivatives

sudo apt install php-cli php-mailparse

Others platforms

sudo apt install php-cli php-pear php-dev php-mbstring
pecl install mailparse

From source

AAAAMMDD should be php-config --extension-dir

git clone https://github.com/php/pecl-mail-mailparse.git
cd pecl-mail-mailparse
phpize
./configure
sed -i 's/#if\s!HAVE_MBSTRING/#ifndef MBFL_MBFILTER_H/' ./mailparse.c
make
sudo mv modules/mailparse.so /usr/lib/php/AAAAMMDD/
echo "extension=mailparse.so" | sudo tee /etc/php/7.1/mods-available/mailparse.ini
sudo phpenmod mailparse

Windows

You need to download mailparse DLL from http://pecl.php.net/package/mailparse and add the line "extension=php_mailparse.dll" to php.ini accordingly.

Installation

  1. Clone the backupmail repository
git clone https://github.com/Iguannaweb/backupmail.git
  1. Run composer install to fetch dependencies
php composer.phar install
  1. Create a mysql database and import the file backupmail.sampledb.sql

  2. Modify dbc.sample.php with the database credentials and rename to dbc.php

  3. Login to access with user admin and password backupmail

Usage

  1. First of all you need to protect the access to your domain. if it will be public. We recomend create a .htaccess/.htpassword files to add an extra layer of security.
  2. Config one mail on the mail.config.sample.php, rename to mail.config.php and check the connection con ./cron_mail.php.
  3. Test the folder imap structure with cron_mail_test.php
  4. Start fetching your mails, navigate and tag them all!
  5. Create task or favorite your preferred mails.

For more examples, please refer to the Documentation

Cron

  1. From terminal write this
crontab -e
  1. Write down this to backup your mails every hour
0 * * * * curl https://yourdomain.com/cron_mail.php

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Francisco Gálvez - Write me an email!
If you want to contact me, the best way is write an email or open an issue here, I'm not really active on social networks.

Project Link: https://github.com/Iguannaweb/backupmail

Acknowledgements

Star History

Star History Chart

About

Do you want to make a backup of your mails? One file for one mail. Multiaccount. Favourites mails. Task mails. Stats and automated actions.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks