2019年4月27日土曜日

メールがスパム判定されないよう設定

設定の前に、IPアドレスがクリーンかどうかはチェックするべきです。
ブラックリストはIPアドレス単位で行われます。 ドメイン単位ではありません。

AWSのEC2からメールを送信する場合、固定IPにしてドメインを割り当てる必要があります。

SPFを設定します。
広く使われており、送り先によっては必須です。

DKIMはあると良いですが。無くても今はまだ大丈夫だと思います。

heloネームにサーバードメインを指定する必要があります。
sendmailなどの設定にあります。
デフォルトはローカル名なので、ほぼスパム判定されます。

送信元や返信先につかうメアドのドメインは、DNSにmxレコードが無いと偽装なのでスパム判定されます。

あとは実運用で人間がスパムだと報告すればブラックリスト入りするので、スパムと思われない運用が必要です。


2019年4月20日土曜日

Amazon Pay実装の感想

他の国産決済と違って、仕様書が存在しないのが一番大きいです。海外ではこういうのが普通なのですかね。オープンソースと同じ感じなのかな。
リファレンスとか一部機能紹介みたいなガイドは存在しますけど、結構間違っているので、自分で調査が必要でした。

任意項目となってても、必須だったり。
デフォルト値が違っていたり。

ま、さわってればすぐわかりますけど。
あと最近追加されたFAQページはまともっぽいです。

SDKを使うには、SDKのソースを見る必要があります。
主な使い方はSDKのページに書かれていますけど、書かれていない事もあります。

実装時に注意が必要だと思ったのは、

・ログインウィジェット。
ログインしたら次のページに進みたい~って処理をするとき。
onSignInを使います。これはログインが完了した後に実行されます。
authorizationは、認証処理が終了したときに実行されます。すなわちキャンセルしてログインしなくても実行されます。

・定期購入で配送先が空?
InheritShippingAddressパラーメータを追加する必要があります。
デフォルトではtrueと書かれてますが嘘です、デフォルトはfalseになっています。
今はFAQにも書かれていますね。
任意項目ですが、実質必須項目です。

・住所ウィジェットを2つ同時に使いたい
オーダーリファレンスIDは特定条件下で同時に2つ扱えます。
リファレンスIDを新規作成可能なのは、ログインウィジェットと住所選択ウィジェットです。
これを利用して、住所ウィジェットを2つ同時に扱うことが可能です。
間違っても同じIDで住所ウィジェット2つという力業はしないことです。

・アメリカ版と日本版で住所ウィジェットの仕様が微妙に違う
管理画面からテストアカウントの住所を入れるときはアメリカ版仕様なので注意でした。
アメリカ仕様:市町村項目がある
日本仕様:会社名項目がある
両者は項目名が違うだけでなく、項目そのものが別物です。
違う仕様で保存すると、無い項目のデータは消滅し引き継がれません。

こんな感じでした。

2019年4月10日水曜日

愛用のphpstormにやっかいな不具合・・・クリーンアップはオフ必須

デフォルト設定だと、コミット前にソースをクリーンアップするようになっています。

クリーンアップとは、ソース上の問題点を見つけて、自動的に勝手にソースを修正する機能です。

かってに無通知でやっちゃいます。 修正に気が付くことはありません。
これ、自動修正が正しく働かないと、ソースが破壊されます。

はい、破壊されました。

無通知の自動修正なんて使うもんじゃありません。
通知されないので、すぐに原因がわからなくて困りました。

誤動作しやすいのは、テンプレート内のjavascriptですね。
phpの変数を織り交ぜてスクリプトを書くと、正しく認識してくれなくて、破壊されることがあるようです。