Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

βœ… πŸ”— πŸš€ Feature Request: Send E-Mail Form Attachments as Regular E-Mail Attachments instead of a link that is saved in the ftp server - [ED-2192] #4868

Closed
2 tasks done
smile00000 opened this issue Jun 25, 2018 · 130 comments
Labels
mod* request/enhancement Indicates an Enhancement Request for an existing feature. solved Indicates that an Issue has been Solved, or a Feature Request has been Released. status/merged Indicates when a Pull Request has been merged to a Release. type/developer-api Indicates when a topic is related to the Developer API and Documentation. type/privacy Indicates when a topic is related to user Privacy. widget/form/actions References Elementor Pro’s Form widget’s Actions After Submit feature.
Milestone

Comments

@smile00000
Copy link

smile00000 commented Jun 25, 2018

Prerequisites

Wordpress & Elementor Pro

  • I have searched for similar features requests in both open and closed tickets and cannot find a duplicate.
  • The feature is still missing in the latest stable version of Elementor ( Elementor Pro. )

What problem is your feature request going to solve? Please describe.
Elementor Contact Form email attachments should not go to ftp drive and sent as a link. It is annoying and takes too long to delete.

Describe the solution you'd like
We would suggest Elementor Email Forms should be sent as E-Mail Attachments instead of saving to ftp server as a link. It is very annoying and counter intuitive for us to have to go to the ftp drive to retrieve/delete images a customer sends to us via form attachments. It would be best if either they can be just sent as an "attachment" or a folder you could create in wp-admin > elementor > email attachments. Either way would be better than the system now. But a regular old fashioned email attachment is preferred.

Describe alternatives you've considered
Above is all

Additional context
None

@black-eye
Copy link

+1

@bainternet
Copy link
Contributor

bainternet commented Jun 26, 2018

@smile00000

Currently, this feature is not supported, but we will look into it in the future if we see a large demand for it.

for now, you can use this class which will add the uploads as attachments to the email:

See this updated version which allows removing the files from the server after they are sent: #4868 (comment)

<?php
/**
 * Class Elementor_Form_Email_Attachments
 *
 * Send Elementor Form upload field as attachments to email
 */
class Elementor_Form_Email_Attachments {
	public $attachments_array = [];

	public function __construct() {
		add_action( 'elementor_pro/forms/process', [ $this, 'init_form_email_attachments' ], 11, 2 );
	}

	/**
	 * @param \ElementorPro\Modules\Forms\Classes\Form_Record $record
	 * @param \ElementorPro\Modules\Forms\Classes\Ajax_Handler $ajax_handler
	 */
	public function init_form_email_attachments( $record, $ajax_handler ) {
		// check if we have attachments
		$files = $record->get( 'files' );
		if ( empty( $files ) ) {
			return;
		}
		// Store attachment in local var
		foreach ( $files as $id => $files_array ) {
			$this->attachments_array[] = $files_array['path'][0];
		}

		// if local var has attachments setup filter hook
		if ( 0 < count( $this->attachments_array ) ) {
			add_filter( 'wp_mail', [ $this, 'wp_mail' ] );
			add_action( 'elementor_pro/forms/new_record', [ $this, 'remove_wp_mail_filter' ], 5 );
		}
	}

	public function remove_wp_mail_filter() {
		$this->attachments_array = [];
		remove_filter( 'wp_mail', [ $this, 'wp_mail' ] );
	}

	public function wp_mail( $args ) {
		$args['attachments'] = $this->attachments_array;
		return $args;
	}
}
new Elementor_Form_Email_Attachments();

Thanks for the feedback.

@bainternet bainternet added request/feature Indicates a Request for a non-existing New Feature. widget/form/actions References Elementor Pro’s Form widget’s Actions After Submit feature. type/developer-api Indicates when a topic is related to the Developer API and Documentation. labels Jun 26, 2018
@smile00000
Copy link
Author

Thank you for the code, do we put this in the CSS box of the elementor widget?

@smile00000
Copy link
Author

smile00000 commented Jun 26, 2018

I asked Elementor Support how to install this:

"Hi, nope, I guess this must be added to the theme's functions.php file at the end of it.Best regards.
"
That is not an ideal workaround then. We already have a +1 on this feature request. Can't you keep it open to see if others want it as well?

@bainternet
Copy link
Contributor

It's here and labeled so no need to keep it open if we get many new requests then ....

thanks.

@sugarchrist
Copy link

Please make this happen, I have bought E Pro for the form widget but now I'm using Form7 instead while waiting for that issue to be resolved.
Thank you

@lauranunez
Copy link

Hello! This Code is great for me, but I have a question:

With this code the attachements are in my boxemail but these are in FTP too... Any posibility these files arenΒ΄t in FTP?

I received a lot of attachements and I need remove these all weeks.

Thank you!

@parfilov
Copy link

+1

@RUSxDeviL1979
Copy link

good day I do not know how to reach you and explain I'm writing this letter for the tenth time ! finally, pay attention to the form of sending a message . the problem is as follows . when attaching the file it went to the hosting path /CLAIFLOWER//uploads / elementor / forms and the files are downloaded to the folder . what is it ? the file should come to the post office and then it turns out the mail comes with a link to the specified file and folder https://claiflower.ru/wp-content/uploads/elementor/forms/5c19d6c2038c7.jpg this is wrong . if we consider the security on the hosting can get malicious files through the submission form . moreover, the hosting where the site is located limit Disk space: 20.0 GB it thus becomes clogged . I bought your elementor for website design and correct work and it turns out the money was spent in vain .

................................................................................ What about the code is not an option! need to solve this problem. I bought about the version and I suffer with it for a long time and more than once wrote silence only in response. Dear developers, you sell your creation should work out as this product is paid.

@sugarchrist
Copy link

Hi bainternet,
Does this mean that it has been resolved?
Thank you

@RUSxDeviL1979
Copy link

good day unfortunately there is nothing fixed when attaching the file, they are still loaded on the FTP server in the folder uploads/elementor/forms

Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь ΠΊ соТалСнию Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ исправили ΠΏΡ€ΠΈ ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΎΠ½ΠΈ всС Ρ€Π°Π²Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° Ρ„Ρ‚ΠΏ сСрвСр Π² ΠΏΠ°ΠΏΠΊΡƒ uploads/elementor/forms

https://prnt.sc/m8jffa

@RUSxDeviL1979
Copy link

RUSxDeviL1979 commented Jan 17, 2019 via email

@bainternet
Copy link
Contributor

Adding this version of the class which lets you remove the files from the server after they are sent.

<?php
/**
 * Class Elementor_Form_Email_Attachments
 *
 * Send Elementor Form upload field as attachments to email
 */
class Elementor_Form_Email_Attachments {
	// Set to true if you want the files to be removed from
	// the server after they are sent by email
	const DELETE_ATTACHMENT_FROM_SERVER = false;
	public $attachments_array = [];

	public function __construct() {
		add_action( 'elementor_pro/forms/process', [ $this, 'init_form_email_attachments' ], 11, 2 );
	}

	/**
	 * @param \ElementorPro\Modules\Forms\Classes\Form_Record $record
	 * @param \ElementorPro\Modules\Forms\Classes\Ajax_Handler $ajax_handler
	 */
	public function init_form_email_attachments( $record, $ajax_handler ) {
		// check if we have attachments
		$files = $record->get( 'files' );
		if ( empty( $files ) ) {
			return;
		}
		// Store attachment in local var
		foreach ( $files as $id => $files_array ) {
			$this->attachments_array[] = $files_array['path'][0];
		}

		// if local var has attachments setup filter hook
		if ( 0 < count( $this->attachments_array ) ) {
			add_filter( 'wp_mail', [ $this, 'wp_mail' ] );
			add_action( 'elementor_pro/forms/new_record', [ $this, 'remove_wp_mail_filter' ], 5 );
		}
	}

	public function remove_wp_mail_filter() {
		if ( self::DELETE_ATTACHMENT_FROM_SERVER ) {
			foreach ( $this->attachments_array as $uploaded_file ) {
				unlink( $uploaded_file );
			}
		}

		$this->attachments_array = [];
		remove_filter( 'wp_mail', [ $this, 'wp_mail' ] );
	}

	public function wp_mail( $args ) {
		$args['attachments'] = $this->attachments_array;
		return $args;
	}
}
new Elementor_Form_Email_Attachments();

Just set the

const DELETE_ATTACHMENT_FROM_SERVER = false;

to

const DELETE_ATTACHMENT_FROM_SERVER = true;

@E-Markers
Copy link

+1

2 similar comments
@esaygo
Copy link

esaygo commented Mar 26, 2019

+1

@MAthez
Copy link

MAthez commented Apr 5, 2019

+1

@joylauu
Copy link

joylauu commented Apr 18, 2019

Adding this version of the class which lets you remove the files from the server after they are sent.

<?php
/**
 * Class Elementor_Form_Email_Attachments
 *
 * Send Elementor Form upload field as attachments to email
 */
class Elementor_Form_Email_Attachments {
	// Set to true if you want the files to be removed from
	// the server after they are sent by email
	const DELETE_ATTACHMENT_FROM_SERVER = false;
	public $attachments_array = [];

	public function __construct() {
		add_action( 'elementor_pro/forms/process', [ $this, 'init_form_email_attachments' ], 11, 2 );
	}

	/**
	 * @param \ElementorPro\Modules\Forms\Classes\Form_Record $record
	 * @param \ElementorPro\Modules\Forms\Classes\Ajax_Handler $ajax_handler
	 */
	public function init_form_email_attachments( $record, $ajax_handler ) {
		// check if we have attachments
		$files = $record->get( 'files' );
		if ( empty( $files ) ) {
			return;
		}
		// Store attachment in local var
		foreach ( $files as $id => $files_array ) {
			$this->attachments_array[] = $files_array['path'][0];
		}

		// if local var has attachments setup filter hook
		if ( 0 < count( $this->attachments_array ) ) {
			add_filter( 'wp_mail', [ $this, 'wp_mail' ] );
			add_action( 'elementor_pro/forms/new_record', [ $this, 'remove_wp_mail_filter' ], 5 );
		}
	}

	public function remove_wp_mail_filter() {
		if ( self::DELETE_ATTACHMENT_FROM_SERVER ) {
			foreach ( $this->attachments_array as $uploaded_file ) {
				unlink( $uploaded_file );
			}
		}

		$this->attachments_array = [];
		remove_filter( 'wp_mail', [ $this, 'wp_mail' ] );
	}

	public function wp_mail( $args ) {
		$args['attachments'] = $this->attachments_array;
		return $args;
	}
}
new Elementor_Form_Email_Attachments();

Just set the

const DELETE_ATTACHMENT_FROM_SERVER = false;

to

const DELETE_ATTACHMENT_FROM_SERVER = true;

I added this code to my function.php file.
It does work, the attachments will appear as files in my mailbox.
However, the attachments also appears in the confirmation mail to the submitter... how to disable this?

@crazypsycho
Copy link
Contributor

@joylauu
It is easy to remove the link from the mail. Just add this method:


    /**
     * @param array $field Form field.
     * @param Form_Record $instance An instance of the form record.
     * @param Ajax_Handler $ajax_handler An instance of the ajax handler.
     */
    public function remove_upload_field( $field, $instance, $ajax_handler ) {
        $instance->remove_field( $field['id'] );
    }

And this to construct:

add_action( 'elementor_pro/forms/process/upload', [ $this, 'remove_upload_field' ], 11, 3 );

Full-Class:


use ElementorPro\Modules\Forms\Classes\Ajax_Handler;
use ElementorPro\Modules\Forms\Classes\Form_Record;

/**
 * Class Elementor_Form_Email_Attachments
 *
 * Send Elementor Form upload field as attachments to email
 */
class Elementor_Form_Email_Attachments {
    // Set to true if you want the files to be removed from
    // the server after they are sent by email
    const DELETE_ATTACHMENT_FROM_SERVER = true;
    public $attachments_array = [];

    public function __construct() {
        add_action( 'elementor_pro/forms/process', [ $this, 'init_form_email_attachments' ], 11, 2 );
        add_action( 'elementor_pro/forms/process/upload', [ $this, 'remove_upload_field' ], 11, 3 );
    }

    /**
     * @param \ElementorPro\Modules\Forms\Classes\Form_Record $record
     * @param \ElementorPro\Modules\Forms\Classes\Ajax_Handler $ajax_handler
     */
    public function init_form_email_attachments( $record, $ajax_handler ) {
        // check if we have attachments
        $files = $record->get( 'files' );
        if ( empty( $files ) ) {
            return;
        }
        // Store attachment in local var
        foreach ( $files as $id => $files_array ) {
            $this->attachments_array[] = $files_array['path'][0];
        }

        // if local var has attachments setup filter hook
        if ( 0 < count( $this->attachments_array ) ) {
            add_filter( 'wp_mail', [ $this, 'wp_mail' ] );
            add_action( 'elementor_pro/forms/new_record', [ $this, 'remove_wp_mail_filter' ], 5 );
        }
    }

    public function remove_wp_mail_filter() {
        if ( self::DELETE_ATTACHMENT_FROM_SERVER ) {
            foreach ( $this->attachments_array as $uploaded_file ) {
                unlink( $uploaded_file );
            }
        }

        $this->attachments_array = [];
        remove_filter( 'wp_mail', [ $this, 'wp_mail' ] );
    }

    public function wp_mail( $args ) {
        $args['attachments'] = $this->attachments_array;
        return $args;
    }

    /**
     * @param array $field Form field.
     * @param Form_Record $instance An instance of the form record.
     * @param Ajax_Handler $ajax_handler An instance of the ajax handler.
     */
    public function remove_upload_field( $field, $instance, $ajax_handler ) {
        $instance->remove_field( $field['id'] );
    }
}

@david-strejc
Copy link

@crazypsycho Does your code really remove attachment for email2 recipient? We just need to Elementor won't send attachments to email2 who is usually sender of form.

@863chick
Copy link

I saw this code posted to another user with my same issue but It's not working. I need to keep the original user file upload name. I'm not saving it to my server so it dupes don't matter and I'm only accepting docx, doc and pdf with captcha so I'm not worried about the other issues. It's imperative that I have the original file name

/**

  • @param string $filename Unique file name.

  • @param string $ext File extension, eg. ".png".

  • @param string $dir Directory path.

  • @param callable|null $unique_filename_callback Callback function that generates the unique file name.
    */
    add_filter( 'wp_unique_filename', function( $filename, $ext, $dir, $unique_filename_callback ) {
    static $file_count = 0; //used to get the current file when multiple uploads in a form
    // first make sure its an upload via elementor forms
    if ( false === strpos( $dir, '/elementor/forms' ) ) {
    return $filename;
    }

    // get the original file name
    $path_parts = pathinfo( $_FILES['SET_FORM_FIELD_ID_HERE'][ $filename ] );
    // Bump counter for next file
    $file_count++;
    // Return your desired file name (original-unique_suffix.extension)
    return $path_parts['filename'] . '-' . $filename;

}, 10, 4 );

@patrickwlm
Copy link

+1 !!!

@RudiVL
Copy link

RudiVL commented Nov 24, 2022

Hello @nicholaszein .. I am very happy that finally any of you from Elementor is responding. It would be really nice if that would happen more often.
Anyways, I understand that it is not simple to make a fitting solution for everyone... but things like size of attachment (max), naming, and so on, should not be that hard to implement. Just make it so that everyone can adjust it themselves. Max filesize, extension, naming (date, name, whatever) and let them see what works for their provider.

@stefanhz
Copy link

stefanhz commented Jan 2, 2023

Hi @nicholaszein - While I appreciate your response, having something on a "roadmap" without any eta means nothing other than that there is no commitment. This could take another 2-3 years and you could always say that "it's on the roadmap" ... that's like the authorities saying that they will fix the main road in your city at some point ... and until then you have to drive 2 hours extra every single day ... how would you like such a response? Would you take that as a reliable response?

I also would like to add another point: I appreciate topics being merged - as along as they truly are overlapping to a degree that they are close to the same. As far as I can tell #9181 was quite a different issue ... unless you guys actually include both sets of requirements when you implement it...

@tomtom-b-90
Copy link

tomtom-b-90 commented Jan 17, 2023

Hello,

I have a question regarding the workaround.

Everything works fine beside, that for the second email with the [elementor_form_no_attachment] text, it does not delete the text when there is no attachment. So the email has the text [elementor_form_no_attachment] when there is no attachment. When there is one then it deletes the message correctly.

We added the following code but I don't understand why this is not working. Thx in advance.

use ElementorPro\Modules\Forms\Classes\Ajax_Handler;
use ElementorPro\Modules\Forms\Classes\Form_Record;
/**
 * Class Elementor_Form_Email_Attachments
 *
 * Send Elementor Form upload field as attachments to email
 */
/**
 * Class Elementor_Form_Email_Attachments
 *
 * Send Elementor Form upload field as attachments to email
 */
class Elementor_Form_Email_Attachments {
	// Set to true if you want the files to be removed from
	// the server after they are sent by email
	const DELETE_ATTACHMENT_FROM_SERVER = true;
	public $attachments_array = [];

	public function __construct() {
		add_action( 'elementor_pro/forms/process', [ $this, 'init_form_email_attachments' ], 11, 2 );
	}

	/**
	 * @param \ElementorPro\Modules\Forms\Classes\Form_Record $record
	 * @param \ElementorPro\Modules\Forms\Classes\Ajax_Handler $ajax_handler
	 */
	public function init_form_email_attachments( $record, $ajax_handler ) {
		// check if we have attachments
		$files = $record->get( 'files' );
		if ( empty( $files ) ) {
			return;
		}
		// Store attachment in local var
		// 
		// 
		foreach ( $files as $id => $files_array ){
			
			/* New Fix For multiple files */
			
			$len = 20;

		for($i = 0; $i < $len; $i++) {
  					$this->attachments_array[] = $files_array['path'][$i];
   
}
		
		
		}

		// if local var has attachments setup filter hook
		if ( 0 < count( $this->attachments_array ) ) {
			add_filter( 'wp_mail', [ $this, 'wp_mail' ] );
			add_action( 'elementor_pro/forms/new_record', [ $this, 'remove_wp_mail_filter' ], 5 );
		}
	}

	public function remove_wp_mail_filter() {
		if ( self::DELETE_ATTACHMENT_FROM_SERVER ) {
			
			foreach ( $this->attachments_array as $uploaded_file ) {
				unlink( $uploaded_file );
			}
		}

		$this->attachments_array = [];
		remove_filter( 'wp_mail', [ $this, 'wp_mail' ] );
		
	}

	public function wp_mail( $args ) {
	// check for no attachment flag
	$no_attachments = strpos($args['message'], '[elementor_form_no_attachment]');
	if ( FALSE !== $no_attachments ) {
		// remove the flag from the message
		$args['message'] = str_replace('[elementor_form_no_attachment]', '', $args['message']);
	} else {
		// attach files instead
		$args['attachments'] = $this->attachments_array;
	}
		
	return $args;
	}
}
new Elementor_Form_Email_Attachments();

@limbikh
Copy link

limbikh commented Jan 27, 2023

Hello, i told the AI to improve the code and it gave me this:

`

class Elementor_Form_Email_Attachments {
    const DELETE_ATTACHMENT_FROM_SERVER = true;
    private $attachments_array = [];

    public function __construct() {
        add_action( 'elementor_pro/forms/process', [ $this, 'init_form_email_attachments' ], 11, 2 );
    }

    public function init_form_email_attachments( Form_Record $record, Ajax_Handler $ajax_handler ) {
        $files = $record->get( 'files' );
        if ( empty( $files ) ) {
            return;
        }
        foreach ( $files as $id => $files_array ){
            $this->attachments_array[] = $files_array['path'];
        }

        if ( !empty( $this->attachments_array ) ) {
            add_filter( 'wp_mail', [ $this, 'wp_mail_attachments' ] );
            add_action( 'elementor_pro/forms/new_record', [ $this, 'remove_attachments' ], 5 );
        }
    }

    public function remove_attachments() {
        if ( self::DELETE_ATTACHMENT_FROM_SERVER ) {
            array_map( 'unlink', $this->attachments_array );
        }
        $this->attachments_array = [];
        remove_filter( 'wp_mail', [ $this, 'wp_mail_attachments' ] );
    }

    public function wp_mail_attachments( $args ) {
        if ( strpos($args['message'], '[elementor_form_no_attachment]') === false ) {
            $args['attachments'] = $this->attachments_array;
        } else {
            $args['message'] = str_replace('[elementor_form_no_attachment]', '', $args['message']);
        }
        return $args;
    }
}
new Elementor_Form_Email_Attachments();

`
This code is more efficient because:

The use statement for the two classes have been moved to the top of the file for readability
The class properties are made private
The foreach loop used to store the attachments is simplified
empty function is used to check if array is not empty
array_map function is used to unlink the attachments from the server.
remove_attachments method is used to clean up the attachments after they have been sent
wp_mail_attachments method uses strpos for checking if no attachment flag is present and === false for checking the result of strpos
The method names are more descriptive and self-explanatory
The code is more readable overall

Im no coder so.. whats your opinions?

@lensbreak
Copy link

5 years later and still not implemented in Elementor Core (despite 400 developers according to official website)... that is why Elementor is digging its own grave..

@ciriman
Copy link

ciriman commented Apr 27, 2023

please put this option in the widget! there is no way it is not natively expected by Elementor. it's frustrating every time to look for the solution.

@Iced-LiP
Copy link

Iced-LiP commented May 3, 2023

This code works for me, thanks! But it is possible to get more than one file as attachment?

@ralfdh
Copy link

ralfdh commented May 9, 2023

Prerequisites

Wordpress & Elementor Pro

  • I have searched for similar features requests in both open and closed tickets and cannot find a duplicate.
  • The feature is still missing in the latest stable version of Elementor ( Elementor Pro. )

What problem is your feature request going to solve? Please describe. Elementor Contact Form email attachments should not go to ftp drive and sent as a link. It is annoying and takes too long to delete.

Describe the solution you'd like We would suggest Elementor Email Forms should be sent as E-Mail Attachments instead of saving to ftp server as a link. It is very annoying and counter intuitive for us to have to go to the ftp drive to retrieve/delete images a customer sends to us via form attachments. It would be best if either they can be just sent as an "attachment" or a folder you could create in wp-admin > elementor > email attachments. Either way would be better than the system now. But a regular old fashioned email attachment is preferred.

Describe alternatives you've considered Above is all

Additional context None

+1 (!)

@speedxcz
Copy link

Although it's pointless since nobody from elementor comes here. +1

@nicholaszein nicholaszein changed the title πŸ”ƒ πŸš€ Feature Request: Send E-Mail Form Attachments as Regular E-Mail Attachments instead of a link that is saved in the ftp server πŸ”— πŸš€ Feature Request: Send E-Mail Form Attachments as Regular E-Mail Attachments instead of a link that is saved in the ftp server Jul 6, 2023
@RudiVL
Copy link

RudiVL commented Jul 21, 2023

I really dont understand why this is not already implemented. Elementor promised to have it this year, it seems it is all pushed back every time. Please Elementor, update us on this essential function!

@sugarchrist
Copy link

Can Elementor add this to their update, it's been 5 years since I asked for this.

@RudiVL
Copy link

RudiVL commented Aug 1, 2023

5 years for basic functionality... it becomes hilarious if it wasn't so sad....

@annelyse
Copy link

Need it too !

@RudiVL
Copy link

RudiVL commented Sep 18, 2023

knock knock Elementor. The year 2023 started so promising... big online show... yesss we are going to bring your long awaited functionality. And we are going to be more interactive with the feedback from our users on Github...
Almost October... and absolutely NOTHING!

@warnubis
Copy link

How can i add more than one file?

@ofmarconi
Copy link

image

@warnubis
Copy link

The Elementor Extension dynamic.ooo has this feature ready: https://help.dynamic.ooo/en/articles/4954053-dynamic-email-for-elementor-pro-form#h_ede9c7e452
works perfectly

@parfilov
Copy link

parfilov commented Nov 16, 2023

The Elementor Extension dynamic.ooo has this feature ready: https://help.dynamic.ooo/en/articles/4954053-dynamic-email-for-elementor-pro-form#h_ede9c7e452 works perfectly

This feature is already in beta of Pro. At last 5 years later!

@Heislitz
Copy link

YAY! To quote Queen: "...it finally happened - I'm slightly mad!" ;-)

@nicholaszein nicholaszein added this to the 3.18.0 milestone Nov 30, 2023
@nicholaszein nicholaszein added the status/merged Indicates when a Pull Request has been merged to a Release. label Nov 30, 2023
@nicholaszein nicholaszein changed the title πŸ”— πŸš€ Feature Request: Send E-Mail Form Attachments as Regular E-Mail Attachments instead of a link that is saved in the ftp server πŸ”— πŸš€ Feature Request: Send E-Mail Form Attachments as Regular E-Mail Attachments instead of a link that is saved in the ftp server - [ED-2192] Nov 30, 2023
@nicholaszein nicholaszein changed the title πŸ”— πŸš€ Feature Request: Send E-Mail Form Attachments as Regular E-Mail Attachments instead of a link that is saved in the ftp server - [ED-2192] βœ… πŸ”— πŸš€ Feature Request: Send E-Mail Form Attachments as Regular E-Mail Attachments instead of a link that is saved in the ftp server - [ED-2192] Dec 4, 2023
@nicholaszein nicholaszein added the solved Indicates that an Issue has been Solved, or a Feature Request has been Released. label Dec 4, 2023
@nicholaszein
Copy link
Contributor

nicholaszein commented Jan 5, 2024

Hello everyone!

We have great news! πŸ™Œ

πŸ“’ We're happy to announce that this feature was released with Elementor Pro v3.18.0! πŸ₯³

βœ… Feel free to check it out and update your plugin to the new version!

Check the changelog for more information:
Changelog of Elementor and Elementor Pro

Cheers πŸ₯‚

@elementor elementor locked and limited conversation to collaborators Jan 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
mod* request/enhancement Indicates an Enhancement Request for an existing feature. solved Indicates that an Issue has been Solved, or a Feature Request has been Released. status/merged Indicates when a Pull Request has been merged to a Release. type/developer-api Indicates when a topic is related to the Developer API and Documentation. type/privacy Indicates when a topic is related to user Privacy. widget/form/actions References Elementor Pro’s Form widget’s Actions After Submit feature.
Projects
None yet
Development

No branches or pull requests