タグ付けされた質問 「wp-mail」

4
Wordpressのwp_mail関数でHTML形式のメールを送信する方法はありますか?
これを達成するのに役立つaction_hookなどがありますか? PHPの文字列変数にマークアップを追加してみたところ、次のようなwp_mail関数を使用してメールを送信しました。 $email_to = 'someaddress@gmail.com'; $email_subject = 'Email subject'; $email_body = "<html><body><h1>Hello World!</h1></body></html>"; $send_mail = wp_mail($email_to, $email_subject, $email_body); しかし、それは平文として現れましたか? 何か案は?

7
wp_mail()を介してマルチパート(テキスト/ html)メールを送信すると、ドメインが禁止される可能性があります
概要 そのためWPコアのバグのため、送信マルチパートで電子メール(HTML /テキスト))(wp_mail(スパムフォルダで終わるメールの可能性を減らすために)します皮肉なことに、あなたのドメインがホットメール(およびその他のMicrosoftの電子メール)によってブロックされているとなります。 これは複雑な問題であり、最終的にコアに実装される可能性のある実行可能なソリューションを誰かが見つけられるように、詳細に分析することを目指します。 やりがいのある読み物になるでしょう。さぁ、始めよう... 不具合 ニュースレターの電子メールがスパムフォルダーになってしまうことを避けるための最も一般的なアドバイスは、マルチパートメッセージを送信することです。 マルチパート(MIME)は、1つの電子メールで電子メールメッセージのHTML部分とTEXT部分の両方を送信することを指します。クライアントがマルチパートメッセージを受信すると、HTMLをレンダリングできる場合はHTMLバージョンを受け入れ、そうでない場合はプレーンテキストバージョンを提示します。 これは機能することが証明されています。Gmailに送信すると、メインの受信トレイに到達したときにメッセージをマルチパートに変更するまで、すべての電子メールがスパムフォルダーに到着しました。素晴らしいもの。 現在、wp_mail()を介してマルチパートメッセージを送信する場合、コンテンツタイプ(multipart / *)を2回出力します。この動作は、すべての Microsoft(Hotmail、Outlookなど)を含む一部の電子メールでは生のメッセージとして表示され、マルチパートではない電子メールで発生します Microsoftはこのメッセージに迷惑メールのフラグを付け、受信したいくつかのメッセージには受信者が手動でフラグを付けます。残念ながら、Microsoftの電子メールアドレスは広く使用されています。サブスクライバーの40%が使用しています。 これは、Microsoftが最近行ったメール交換で確認されています。 ドメインが完全にブロックされると、メッセージにフラグが立てられます。つまり、メッセージはスパムフォルダーに送信されず、受信者にも配信されません。 これまでにメインドメインを3回ブロックしました。 これはWPコアのバグであるため、マルチパートメッセージを送信するすべてのドメインがブロックされています。問題は、ほとんどのウェブマスターが理由を知らないことです。私は調査を行い、他のユーザーがフォーラムなどでこれを議論しているのを見て、これを確認しました。それは生のコードを掘り下げ、これらのタイプの電子メールメッセージがどのように機能するかについての十分な知識が必要です。 コードに分解しましょう hotmail / outlookアカウントを作成します。次に、次のコードを実行します。 // Set $to to an hotmail.com or outlook.com email $to = "YourEmail@hotmail.com"; $subject = 'wp_mail testing multipart'; $message = '------=_Part_18243133_1346573420.1408991447668 Content-Type: text/plain; charset=UTF-8 Hello world! This is plain …
37 email  wp-mail  bug 

5
プレーンな古いPHP mail()がそうするのにwp_mail()がFrom:ヘッダーを設定させないのはなぜですか?
wp_mail( $to, $subject, $message, $headers )(もちろん値が設定されている)を使用すると、送信元の名前と、(PHPやApacheの設定でも)どこにも設定されていない電子メールが送信されます。ただし、mail( $to, $subject, $message, $headers )代わりに使用しても問題ありません。これwp_mail()を引き起こすために何が起こる可能性がありますか?
32 headers  wp-mail  email 



1
添付ファイル付きのwp_mailを使用するが、添付ファイルを受信しない
私はこれを含む複数の例を見てきました。 メールは問題ありませんが、添付ファイルはありません。ファイルタイプのコンテンツ/タイプがありませんか?私が見たすべての例では、コンテンツタイプとしてtext / htmlのみを使用しています。 これが私が持っているものです(スティーブンのリクエストに応じて追加されました) if( isset( $_POST['to'] ) && isset( $_POST['from'] ) ) { global $wpdb; $to = $_POST['to']; $from = $_POST['from']; $name = get_bloginfo('name'); $attachment = $_POST['file']; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: multipart/mixed; charset=iso-8859-1' . "\r\n"; $headers .= 'From: ' . $name . ' …
15 wp-mail 

1
メール送信後に何かする
WordPressからメールが届いたら何かしたい。たとえば、wp_mail()機能を使用して「パスワードのリセット」メールを送信した後。
11 email  wp-mail 

9
WordPressはメールの送信を拒否します。「…ホストがmail()関数を無効にしている可能性があります」
最近、自分のWebサイトにコメント領域を実装し、電子メール通知を機能させようとしました。新しいコメントが行われたときに電子メール通知を送信したくないようです。 PHPがメールを送信できるかどうかを確認するために、パスワードをリセットしようとしました(メールで新しいパスワードを取得するため)。次のメッセージが表示されました。 メールを送信できませんでした。考えられる理由:ホストがmail()関数を無効にしている可能性があります [設定]-> [ディスカッション]でチェックボックスをオンにしましたが、メールは有効であるため、設定の問題ではありません。PHPファイルを作成してを使用して送信しようとしましたが、mail()正常に送信されました。したがって、WordPressで変なことが起こっているはずです。 何か案は?
9 php  wp-mail  email 

3
送信メールにヘッダーを追加する方法は?
サイトの送信メールにヘッダーを追加したいので、特定のメールを送信したサイトを簡単に特定できます。(私はすべてのサイトに標準機能プラグインを配置しているので、これは簡単に実行できます。メールヘッダーをフィルターに設定し、このヘッダーを操作するように構成すると、時間を大幅に節約できます。) これはwp_mail関数にプラグインするという単純な問題だと思っていましたが、明らかにそうではありません。 まず、私はこれを試しました: add_filter('wp_mail', 'ws_add_site_header'); function ws_add_site_header() { return array('headers' => 'X-WU-Site: ' . parse_url(get_site_url(), PHP_URL_HOST)); } ここで、私の配列はメール設定を変更した他のもの(たとえば、Gravity Forms)よりも優先されたため、HTMLメールは裸のHTMLとして表示され、適切にフォーマットされませんでした。GFが追加したContent-type:ヘッダーがスクラブされているため、理にかなっています。しかし、私のヘッダーはメールに追加されました。他の人もかなりのメールを受信することに依存しているため(私のサイトのすべてのコンテンツ開発者とエンドユーザー、とりわけ私は確信しています)、それは受け入れられません。 次に、私の同僚の1人が、wp_parse_args()を使用して自分のものをルーティングすることを提案しました。 add_filter('wp_mail', 'ws_add_site_header'); function ws_add_site_header($args) { $new_header = array('headers' => 'X-WU-Site: ' . parse_url(get_site_url(), PHP_URL_HOST)); return wp_parse_args($args, $new_header); } これで、私の機能が存在しないかのように見えます-私のヘッダーは追加されませんが、他のヘッダーもメール設定も削除されません。 存在する可能性のある他のフィルターをスクランブルすることなく、送信メールにヘッダーを追加する正しい方法は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.