No description
Find a file
2026-03-20 15:10:18 +01:00
.github Create PULL_REQUEST_TEMPLATE.md 2020-07-08 17:42:43 +02:00
docs Docs link home 2022-12-16 22:54:35 +00:00
igw_includes Arreglo de la función para buscar urls permitidas 2025-06-28 23:45:19 +02:00
igw_languages Administradores. Cadenas de idiomas. Y quitamos demo.js del pie. 2025-04-20 14:50:12 +02:00
igw_template Icono de estado de conexión para evitar la desconexión. 2025-04-20 19:59:08 +02:00
mailbackup Database structure. Folders for saving eml files. js-tree on index. 2020-07-05 01:23:35 +02:00
mailbackup_drafts Database structure. Folders for saving eml files. js-tree on index. 2020-07-05 01:23:35 +02:00
mailbackup_notes Database structure. Folders for saving eml files. js-tree on index. 2020-07-05 01:23:35 +02:00
mailbackup_sents Database structure. Folders for saving eml files. js-tree on index. 2020-07-05 01:23:35 +02:00
mailbackup_spam New page autobot for filters, some translations added 2023-04-09 13:52:10 +00:00
mailbackup_trash New page autobot for filters, some translations added 2023-04-09 13:52:10 +00:00
.gitignore Config file 2024-05-25 01:48:35 +02:00
.htaccess_sample Basic htaccess/htpasswd protect user admin pass backupmail 2020-07-04 09:30:45 +02:00
.htpasswd_sample Basic htaccess/htpasswd protect user admin pass backupmail 2020-07-04 09:30:45 +02:00
administrators.php Administradores. Cadenas de idiomas. Y quitamos demo.js del pie. 2025-04-20 14:50:12 +02:00
allow_image_url.php Add sample allow list 2025-06-28 23:11:15 +02:00
autobot.php New page autobot for filters, some translations added 2023-04-09 13:52:10 +00:00
backupmail.sampledb.sql Config file 2024-05-25 01:48:35 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-07-04 14:27:26 +02:00
composer.json Config file 2024-05-25 01:48:35 +02:00
composer.lock Fix phpseclib version 2026-03-20 15:10:18 +01:00
configuration.php Config file 2024-05-25 01:48:35 +02:00
CONTRIBUTING.md Create CONTRIBUTING.md 2020-07-04 14:33:25 +02:00
cron_mail.php Config file 2024-05-25 01:48:35 +02:00
cron_mail_test.php Starting configuration file, languages, test mail. 2022-05-02 09:35:22 +00:00
index.php New page autobot for filters, some translations added 2023-04-09 13:52:10 +00:00
LICENSE Create LICENSE 2020-06-25 19:14:55 +02:00
mail_reader.php Merge branch 'master' into codex/añadir-funcionalidad-para-dominios-permitidos-de-imágenes 2025-06-28 23:19:42 +02:00
README.md Merge branch 'master' into codex/añadir-funcionalidad-para-dominios-permitidos-de-imágenes 2025-06-28 23:19:42 +02:00
SECURITY.md Create SECURITY.md 2020-07-04 14:23:42 +02:00
stats.php Redirect. Stats in menu. 2023-04-05 22:12:14 +00:00
status.php Icono de estado de conexión para evitar la desconexión. 2025-04-20 19:59:08 +02:00
tags.php New page autobot for filters, some translations added 2023-04-09 13:52:10 +00:00

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. In that file you can set $display_remote_images to 0 to avoid loading external images when reading mails.
  4. Copy igw_includes/config/allowed_image_urls.sample.json to allowed_image_urls.json to enable the allow list. Edit this file to manage additional remote image domains that will always be allowed.
  5. When viewing an email, blocked domains are shown in a warning message. Click the provided link to add a domain to the allow list.
  6. Test the folder imap structure with cron_mail_test.php
  7. Start fetching your mails, navigate and tag them all!
  8. 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