Phpのdefineの文字列 - PHPプロ!Q&A掲示板

4838

  • 0P

Phpのdefineの文字列

質問日時 / 2017年4月20日 21:30    回答数 / 6件

Questioner:  2016H  このエントリーをはてなブックマークに追加 

キーワード / Php    Php define    Define   

下記の第2変数に文字列を追加したいですが教えてくださいませ
メールアドレスの前に日本語を追加したいです。
define('SENDER', '自動送信 wayward@example.com');

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01shimix>メールアドレスの前に日本語を追加したい 用途が
┗A022016H説明補足ですがAWS SESnoAPIを使っていますので、mb_e
 ┗A02-1shimix>AWS SES API 強烈な後出しですね。AWS SESに『仕
  ┗A02-1-12016Hありがとうございます。 掲載していただいたURLは参
   ┗A02-1-1-1shimix>encodeについては、参考になるものがなかったです
    ┗A02-1-1-1-12016Hありがとうございました。 非常に参考になりました。

回答一覧

並び替え:

A01
answerershimix [4月21日 05:03]

>メールアドレスの前に日本語を追加したい

用途が「メール送信のために使う」のであれば(mb_send_mailの第4引数で使うなら)mb_send_mailはsubjectやmessageは自動変換ですが、第4引数は自前で変換しないといけませんから、mb_language('ja')とするならば
  1. define('SENDER', mb_encode_mimeheader('自動送信', 'iso-2022-jp') . ' <wayward@example.com>');
ですね。mb_language('uni')ならutf-8で。

defineは無関係ですよね(汗

この意見に回答する

ツリーへ TOPへ

A02
answerer2016H [4月21日 09:59]

説明補足ですがAWS SESnoAPIを使っていますので、mb_encode_mimeheaderを使うとphpのsendmailになってしまうので、AWS SES API 送信できませんでした。

よろしくお願いします

この意見に回答する

ツリーへ TOPへ

A02-1
replyershimix [4月21日 10:37] (最終編集:4月21日 11:10)

>AWS SES API

強烈な後出しですね。AWS SESに『仕様です』と言われたらどうしようもありません。

http://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/send-using-smtp-php.html

>Amazon SES で検証したメールアドレスに置き換えます。詳細について
>は、「Eメールアドレスとドメインの検証」を参照してください。
>Amazon SES では、E メールアドレスの大文字と小文字が区別されます。
>検証したアドレスと完全に一致するアドレスを入力してください。 

となっていますからメールアドレス以外のものを一切付け加えるなということでしょう。余計な手間をかけたくないし、誤ってFrom詐称のメールをパスしてしまうのは避けたいでしょうからね。手っ取り早いのは「完全一致」ですから。

#本来ノーチェックであるべき部分なんですけどね>メールヘッダ



>mb_encode_mimeheaderを使うとphpのsendmailになってしまう

意味不明です・・・

この意見に回答する

ツリーへ TOPへ

A02-1-1
replyer2016H [4月21日 11:21]

ありがとうございます。
掲載していただいたURLは参考して作ったのですがencodeについては、参考になるものがなかったです

この意見に回答する

ツリーへ TOPへ

A02-1-1-1 参考になった
replyershimix [4月21日 11:26] (最終編集:4月21日 12:20)

>encodeについては、参考になるものがなかったです

encode云々以前に「asciiだったらdisplay nameを付加してもOK」だったでしょうか?一度
  1. define('SENDER', 'AutoSender <wayward@example.com>');
として確認してください。

asciiでもNG
→(AWS SESの仕様として)display nameの追加は不可ということなので諦めましょう。

asciiだったらOK
→ 日本語のdisplay name(encode_mimeheaderしたもの)との違いは文字列の「長さ」くらいしかありませんけどねぇ・・・

この意見に回答する

ツリーへ TOPへ

A02-1-1-1-1
replyer2016H [4月21日 14:20]

ありがとうございました。
非常に参考になりました。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)