Suporte » Plugins » E-mail do meu plugin não envia (carrinho de compras)

  • donraf

    (@donraf)


    Boa noite,

    estou com esse código aqui, e aparentemente todas as outras funções funcionam, menos a parte que o e-mail é enviado. alguém pode me ajudar?

    <?php
    add_shortcode( 'rd_ic_cart', 'rd_ic_cart_process_form' );
    
    function rd_ic_cart_process_form(){
    
    	if( isset( $_POST['is-form-submitted']) && 'y' == $_POST['is-form-submitted'] ){
    		// If the form is submitted, process it and put up a sign thanking the user.
    		$name = $_POST['end-user-name'];
    		$cfp = $_POST['cpf'];
    		$num = $_POST['num'];
    		$end_user_address = $_POST['end-user-address'];
    		$end_user_inquiry = $_POST['end-user-inquiry'];
    		$items_in_inquiry = print_r( $_SESSION['rd_ic'], true );
    
    		$options = get_option('rd_ic_options');
    		$to = "[E-mail removido por um moderador]";
    		$subject = $options['email_subject'];
    		$msg_sent = $options['msg_sent'];
    		$msg_fail = $options['msg_fail'];
    
    		$headers[] = "Cc: $end_user_address";
    
    		// mensagem a ser enviada
    		$message = "Nova cotacao de $name.\n\n CPF/CNPJ: $cfp\n\nTelefone:$num\n\n$end_user_inquiry\n\n-----------------------\n\nProducts:\n$items_in_inquiry";
    
    		// enviar e-mail
    		$success = wp_mail( $to, $subject, $message, $headers );
    
    		// Sucesso no envio ou erro
    		if( $success )
    			return $msg_sent;
    		else
    			return $msg_fail;
    
    	} else {
    		// padrão da pagina
    		return rd_ic_cart_shortcode();
    	}
    }
    
    function rd_ic_cart_shortcode(){
    
    	// itens que vao aparecer no email.
    	if( isset($_POST['remove-item']) ){
    		$name_of_item = $_POST['remove-item'];
    		unset( $_SESSION['rd_ic'][$name_of_item] );
    	}
    
    	$string_to_return =
    		'<form method="post" action="">
    			<p>Seu nome:</p>
    			<p><input type="text" name="end-user-name" value="" /></p>
    			<p>CPFCNPJ:</p>
    			<p><input type="text" name="cpf" value="" /></p>
    			<p>Número:</p>
    			<p><input type="text" name="num" value="" /></p>
    			<p>E-mail:</p>
    			<p><input type="text" name="end-user-address" value="" /></p>
    			<p>Faça sua cotação (Informe o local que a encomenda deve ser entregue e quantas caixas deseja):</p>
    			<p><textarea name="end-user-inquiry" rows="50" cols="50">
    			Escreva aqui
    			</textarea>
    			</p>
    			<p>Os itens os quais você está pedindo o orçamento:</p>';
    
    	$list_of_items = "
    <ul>";
    
    	$inquiry_cart = $_SESSION['rd_ic'];
    	foreach( $inquiry_cart as $item_in_cart => $item_value ){
    		// remover item.
    		$remove_link = "?remove-item=$item_in_cart";
    
    		$list_of_items .=
    			"
    <li><form action='' method='post' class='rd-ic-shortcode'>
    				$item_in_cart <input type='hidden' name='remove-item' value=\"$item_in_cart\" />
    				<input type='submit' value='remove'/>
    			</form></li>
    ";
    	} unset( $item_in_cart );	// Because the reference to it survives the loop.
    	// lista de itens
    	$list_of_items .= '</ul>
    ';
    	$string_to_return .= $list_of_items;
    
    	// adicionar botão
    	$string_to_return .=
    		'<input type="hidden" name="is-form-submitted" value="y" />
    		<input type="submit" value="Enviar Cotacao" />
    		</form>';
    
    	return $string_to_return;
    }
Visualizando 1 resposta (de um total de 1)
  • Moderador Leo Baiano

    (@leobaiano)

    O e-mail pode estar sendo barrado pelo servidor.

    Verifique qual e-mail está cadastrado em Configurações > Geral > Endereço de e-mail, o e-mail cadastrado neste campo é utilizado pelo WordPress no campo “DE” das notificações que são enviadas. Os servidores de e-mail normalmente verificam se o e-mail do campo “DE” existe e se ele é do mesmo domínio.

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘E-mail do meu plugin não envia (carrinho de compras)’ está fechado para novas respostas.