Skip to content

E-Mail does not work (Solution in my post, dont know how to change the code) #6

@xxfreshman

Description

@xxfreshman

the contactform-frontend.php has to be updated with the following lines

/**
* Get Cotent Email
*
* @param type $emailTemplate email content
* @param String $dataContentEmail Data content Email
* @param Strig $nameFileByIndentifier Get name Field by Indentifier
* @param String $requiredField required field
* @param String $defaultSubject Default Subject Email
*
* @return stdClass
/
public function get_content_email( $emailTemplate, $dataContentEmail, $nameFileByIndentifier, $requiredField, $defaultSubject ) {
if ( ! empty( $emailTemplate[ 'message' ] ) ) {
/
$emailTemplate[ 'message' ] = preg_replace( '/{$([^\}]+)}/i', '@$dataContentEmail["\1"]', $emailTemplate[ 'message' ] );*/
$emailTemplate[ 'message' ] = preg_replace_callback( '/{$([^\}]+)}/i',function($match) use ($dataContentEmail) {return @$dataContentEmail[$match[1]];},$emailTemplate[ 'message' ] );

		 }
	else {
		$htmlMessage = array();
		if ( $dataContentEmail ) {
			$htmlMessage = $this->email_template_default( $dataContentEmail, $nameFileByIndentifier, $requiredField );
		}
		$emailTemplate[ 'message' ] = $htmlMessage;
	}

	/*$emailTemplate[ 'subject' ] = preg_replace( '/\{\$([^\}]+)\}/ie', '@$dataContentEmail["\\1"]', $emailTemplate[ 'subject' ] );*/
	$emailTemplate[ 'subject' ] = preg_replace_callback( '/\{\$([^\}]+)\}/i', function($match) use ($dataContentEmail) {return @$dataContentEmail[$match[1]];}, $emailTemplate[ 'subject' ] );
	$emailTemplate[ 'subject' ] = ! empty( $emailTemplate[ 'subject' ] ) ? $emailTemplate[ 'subject' ] : $defaultSubject;
	/*$emailTemplate[ 'from' ] = preg_replace( '/\{\$([^\}]+)\}/ie', '@$dataContentEmail["\\1"]', $emailTemplate[ 'from' ] );*/
	$emailTemplate[ 'from' ] = preg_replace_callback( '/\{\$([^\}]+)\}/i', function($match) use ($dataContentEmail) {return @$dataContentEmail[$match[1]];}, $emailTemplate[ 'from' ] );
	/*$emailTemplate[ 'reply' ] = preg_replace( '/\{\$([^\}]+)\}/ie', '@$dataContentEmail["\\1"]', $emailTemplate[ 'reply' ] );*/
	$emailTemplate[ 'reply' ] = preg_replace_callback( '/\{\$([^\}]+)\}/i', function($match) use ($dataContentEmail) {return @$dataContentEmail[$match[1]];}, $emailTemplate[ 'reply' ] );
	$emailTemplate[ 'subject' ] = strip_tags( $emailTemplate[ 'subject' ] );
	$emailTemplate[ 'from' ] = strip_tags( $emailTemplate[ 'from' ] );
	$emailTemplate[ 'reply' ] = strip_tags( $emailTemplate[ 'reply' ] );

	return $emailTemplate;
}

/**
 * get content email
 *
 * @param type      $emailContent         email content
 * @param   String  $requiredField        required field
 *
 * @return string
 */

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions