How to create a shortcode with HTML code in it and custom parameters/

As per the shortcode documentation, your shortcode callback recieves any parameters set by the user in a $atts variable. You can combine them with any default values you might have with shortcode_atts().

function newsletter( $atts ) {

  $atts = shortcode_atts( 
    array(
      'url'         => 'https://domain.com/newsletter/z2o7q6', // change default value as needed
      'headline'    => 'Newsletter Box Headline', // change default value as needed
      'description' => 'Newsletter Box Description', // change default value as needed
    ), 
    $atts, 
    'newsletter' 
  );

  // you can access parameters with $atts['url'], $atts['headline'], and $atts['description']
  // e.g <h3><?php echo esc_html($atts['headline']); ?></h3>

}