自動送信メールの修正
- このトピックには8件の返信、3人の参加者があり、最後にmasuda-clairにより10年、 10ヶ月前に更新されました。
-
投稿者投稿
-
2014年1月20日 1:37 AM #59312
動作に関するご質問の場合は必ずご記入ください。
WordPress のバージョン:3.8(日本語版)
Welcart のバージョン:1.3.11
ご利用のテーマ:Welcartデフォルトテーマをカスタマイズ
症状を確認したブラウザ:なし
サーバー(会社名、サービス名):インフォミーム株式会社
SSLの利用: 無し
WordPress のパーマリンク設定:/%category%/%postname%/
注文完了後に送信されるメールの内容が、『項目名』と『入力内容』の間にスペースが入ってしまいます。
このスペースを削除することは可能なのでしょうか?
よろしくお願いいたします。
※メールソフトによってスペースがない場合がある。
スペース有:Outlook2003、Thunderbird
スペース無:Windows Live メール
2014年1月20日 5:03 AM #68210kitamuuu参加者自動送信メールの内容を編集するにはfunction.phpの
usces_filter_send_order_mail_shipping
にフックを行うことで編集できます。
名前や住所などはuesces_get_mail_addressform()関数で
呼び出しているのでこの関数の中にあるusces_filter_apply_mail_addressform
に編集した記述をフックします。
過去のトピックに参考になりそうなものがありましたので貼っておきます。
2014年1月20日 11:29 PM #68211さっそくのご回答ありがとうございます。
ほかの業務と同時並行で作業をしていますので、試すのに時間がかかると思いますが、でき次第報告を上げます。
2014年1月21日 12:09 AM #68212masuda-clair参加者ちょっと気になることがあるのですが・・
受信したメールソフトで差異があるとのことなので
ひょっとすると、メールソフトの問題
(スペースコードや改行コードが意図した状態に認識されない)
かもしれませんので、WelCartがどのようなメールを出そうとしているか確認
されてはいかがでしょう?
受注画面(一件分の画面)で「メール・印刷フィールド表示」のリンクを押すと
チェックボックス一覧が出ますので、「受注確認メール」を(リンク)押すと
画面上に送信されるメール内容が表示されます。
そこに出ているメールを送信しますので
それと違う表示の受信メールがおかしい(正しく表示されていない)
メールソフトだということです。
予想としてLiveMailではないかなとは思いますが・・・
ただ、受信メールソフトしか考えられないわけではなく
受信したメールサーバーがそれぞれ異なるなら
メールサーバーかも知れませんが(可能性は低いです)
この場合は、WelCartで対応するのは、非常に難しいですが・・・
2014年1月21日 4:19 AM #68213masuda-clairさんへ
アドバイスいただいたとおりに受注画面から送信されたメールの内容を確認しました。
こちらの方でスペースが入ってしまっているので、メールソフトやサーバの問題ではないと思われます。
例)
会員No : 1001
現在、kitamuuuさんからの書き込みを参考にfunction.phpを確認していますが、私の知識不足のせいでちょっとどこが問題なのかわかりません(>_<)
上司からのビハインドプレッシャーがあるので早く治したいのですがなかなかうまくいかないものですね・・・
2014年1月21日 4:27 AM #68214追記
調べてみたところ、スペースが入らない項目もあるようです。
~スペースが入る項目~
・会員No
・メールアドレス
・購入者
・国
・郵便番号
・住所
・電話番号
・FAX番号
~スペースが入らない項目~
・注文番号
・注文日時
2014年1月21日 4:51 AM #68215masuda-clair参加者解りました、スペースと改行を思い違いしてました。
が、「スペース」が入ってOKなのですがね。
実際には「スペース」ではなく「タブ」が入っているのですが
多分それが違いになっていると思います(メールソフトごとの)
タブを何文字分のスペースにするかは調べてみますが、
今はよくわかってません
ただ、現状からライブメールは1文字もしくは無視
それ以外は指定の文字数にしているので
差が出ていると思います
2014年1月21日 6:13 AM #68216解決しました。
会員Noの場合、以下の部分を変更しました
$formtag .= ( !empty( $mem_id ) ) ? __( ‘membership number’, ‘usces’ ) . “¥t¥t: ” . $mem_id . “¥r¥n” : ”;
この中の“¥t”を削除しました。
ほかの項目の同様の方法でスペースを削除できました。
この“¥t”とはいったい何なんでしょう?
2014年1月21日 7:00 AM #68217masuda-clair参加者¥tというのが「タブ」になります
キーボード上にも「Tab」っていうのがあると思いますが
それです。
実際には「0x09」で、通常の「文字」ではなく
コントロールコードといわれるものです。
これを、表示するソフトが、それぞれ何文字分のスペースにするか決め
処理をします。
また、単に複数個のスペースではなく
123
12
上記の文字の次に¥tが来て、その次に文字が来れば
123¥t45
12¥t45
とすると、後ろの45の頭がそろいます。
今回の問題も、もともとはタイトルの長さにかかわらず
¥tの一文字で、実際のデータに頭の位置を揃えるために
使っているのですが・・・
それが、受信したメールソフトの違いで見え方が変わったということでしょう
最初の状態をoutlookやTBで見れはわかるのではないかと思うのですが
-
投稿者投稿
- このトピックに返信するにはログインが必要です。