Create your Signup Forms with Contact Form 7 and allow users to signup to your newsletter.
As of April 2026, Mailster Contact Form 7 is a WordPress mailster plugin with 1.0K+ active installations and a 5/5 rating from 4 reviews. It has been downloaded 27K+ times in total. Requires WordPress 6.0+ and PHP false+. Available on WordPress.org since 2017. Downloads are up 24% this week. Top alternative: Mailster AmazonSES Integration.
Create your Signup Forms with Contact Form 7 and allow users to signup to your newsletter.
This Plugin requires Mailster Newsletter Plugin for WordPress
This Plugin requires Mailster Newsletter Plugin for WordPress
If a user subscribes to the contact form 7 form with this plugin, they will be added to the list, but their status will not be automatically confirmed. “Double-opt-In” is turned off, meaning they do not have to confirm their unsubscribe, but the user will still not be active. Is there another setting that I missed, or is the plugin unable to make the user an active subscriber immediately?
Hi, I improved the validate and add_subscriber function in classes/contactform.class.php to allow contact from7 to display more errors from mailster instead of just error messages for duplicate subscribers.
public function validate( $result, $tags ) {
if ( ! $result->is_valid() ) {
return $result;
}
if ( ! function_exists( 'mailster' ) ) {
return $result;
}
$submission = WPCF7_Submission::get_instance();
if ( ! $submission || ! $posted_data = $submission->get_posted_data() ) {
return $result;
}
$form = WPCF7_ContactForm::get_current();
$properties = $form->get_properties();
// no Mailster settings
if ( ! isset( $properties['mailster'] ) ) {
return $result;
}
$properties = $properties['mailster'];
// not enabled
if ( ! $properties['enabled'] ) {
return $result;
}
// checkbox defined but not checked
if ( isset( $properties['checkbox'] ) && $properties['checkbox'] && empty( $posted_data[ $properties['checkboxfield'] ][0] ) ) {
return $result;
}
$this->userdata = array();
$tag_keys = array_flip( array_filter( wp_list_pluck( $tags, 'name' ) ) );
foreach ( $properties['fields'] as $field => $tag ) {
$this->userdata[ $field ] = is_array( $posted_data[ $tag ] ) ? $posted_data[ $tag ][0] : $posted_data[ $tag ];
}
$this->userdata['status'] = $properties['doubleoptin'] ? 0 : 1;
if ( isset( $properties['gdpr_timestamp'] ) && $properties['gdpr_timestamp'] ) {
$this->userdata['gdpr'] = time();
}
$this->userdata = apply_filters( 'mailster_verify_subscriber', $this->userdata );
if ( is_wp_error( $this->userdata ) ) {
$result->invalidate( $tags[ $tag_keys[ $properties['fields'][ $this->userdata->get_error_code() ] ] ], $this->userdata->get_error_message() );
return $result;
}
$overwrite = $properties['overwrite'];
if ( ! $overwrite && mailster( 'subscribers' )->get_by_mail( $this->userdata['email'] ) ) {
$error_message = isset( $properties['error_message'] ) ? $properties['error_message'] : __( 'You are already registered!', 'mailster-cf7' );
$result->invalidate( $tags[ $tag_keys[ $properties['fields']['email'] ] ], $error_message );
return $result;
}
//new add+
$add_message= $this->add_subscriber(null);
if(!empty($add_message)) {
$result->invalidate( $tags[ $tag_keys[ $properties['fields']['email'] ] ], $add_message );
return $result;
}
// add_action( 'wpcf7_mail_sent', array( $this, 'add_subscriber' ) );
return $result;
}
/**
*
*
* @param unknown $contact_form
*/
public function add_subscriber( $contact_form ) {
$form = WPCF7_ContactForm::get_current();
$properties = $form->get_properties();
$properties = $properties['mailster'];
$list_ids = isset( $properties['lists'] ) ? (array) $properties['lists'] : null;
$overwrite = 1 == $properties['overwrite'];
$merge = 3 == $properties['overwrite'];
// add subscriber
$subscriber_id = mailster( 'subscribers' )->add( $this->userdata, $overwrite || $merge, $merge );
// no error
if ( ! is_wp_error( $subscriber_id ) && $list_ids ) {
mailster( 'subscribers' )->assign_lists( $subscriber_id, $list_ids );
return '';
}else {
return $subscriber_id->get_error_message();
}
}
Search around for good a good contact form for mailster an found this plugin.Works perfect.
Does exactly what it’s supposed to do. Smooth integration with CF7, great support.
| WordPress | 6.0+ requiredTested up to 6.8.5 |
| PHP | false+ required |
| Dependencies | mailster |
Plugin data sourced from WordPress.org. Analysis and metrics by PluginSift.