Ability to download .EML mail

General eFa discussion
Post Reply
gregecslo
Posts: 70
Joined: 09 Sep 2018 17:55

Ability to download .EML mail

Post by gregecslo »

Hi.
Sometimes we need .EML file for various reasons... So we copied it over sftp, webmin etc...

So I had enough and wrote simple EML downloader, it is not pretty but it does job well.
Can it be included in next efa version?

How I did it:

Create file: /var/www/html/mailscanner/dl_mail.php

Code: Select all

<?php

// Get the path from the URL parameter
$path = $_GET['path'];

if (file_exists($path)) {

    $basename = pathinfo($path, PATHINFO_FILENAME);

    $tempFile = tempnam(sys_get_temp_dir(), $basename);

    $emlFile = $tempFile . '.eml';
    rename($tempFile, $emlFile);

    copy($path, $emlFile);

    $filename = $basename . '.eml';
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    header('Content-Length: ' . filesize($emlFile));

    readfile($emlFile);

    unlink($emlFile);

} else {
    // Handle the case where the file doesn't exist
    echo "File not found.";
}
Then in: /var/www/html/mailscanner/detail.php
Added to the very end:

Code: Select all

// Add footer
html_end();
// Declare paths for mail download
$first_path = $quarantined[0]['path'];
// Download it
echo '<td>' . '<a href="dl_mail.php?path=' . urlencode($first_path) . '" target="_blank">Download .EML</a>' . "</td>\n";
// Close any open db connections
dbclose();
And now I can download mail in EML format from detail page.
It would be awesome if this would be a native feature...

Thanks!
User avatar
shawniverson
Posts: 3770
Joined: 13 Jan 2014 23:30
Location: Indianapolis, Indiana USA
Contact:

Re: Ability to download .EML mail

Post by shawniverson »

Sounds like a great feature!

Be sure to submit an issue to https://github.com/mailwatch/MailWatch for this feature 8-)
gregecslo
Posts: 70
Joined: 09 Sep 2018 17:55

Re: Ability to download .EML mail

Post by gregecslo »

Done
Post Reply