Zend_Mail-Introduction.xml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 15103 -->
  4. <sect1 id="zend.mail.introduction">
  5. <title>導入</title>
  6. <sect2 id="zend.mail.introduction.getting-started">
  7. <title>まずはじめに</title>
  8. <para>
  9. <classname>Zend_Mail</classname> は、テキストメールや MIME
  10. マルチパートメールを作成・送信するための一般的な機能を提供します。
  11. <classname>Zend_Mail</classname> を使用すると、デフォルトの
  12. <classname>Zend_Mail_Transport_Sendmail</classname> か、あるいは
  13. <classname>Zend_Mail_Transport_Smtp</classname>
  14. を使用してメールを送信することが可能です。
  15. </para>
  16. <example id="zend.mail.introduction.example-1">
  17. <title><classname>Zend_Mail</classname> を使用したシンプルなメール送信</title>
  18. <para>
  19. 受信者、表題、本文および送信者を指定しただけの単純なメールです。
  20. このようなメールを <classname>Zend_Mail_Transport_Sendmail</classname>
  21. を用いて送信するには、次のようにします。
  22. </para>
  23. <programlisting role="php"><![CDATA[
  24. $mail = new Zend_Mail();
  25. $mail->setBodyText('This is the text of the mail.');
  26. $mail->setFrom('somebody@example.com', 'Some Sender');
  27. $mail->addTo('somebody_else@example.com', 'Some Recipient');
  28. $mail->setSubject('TestSubject');
  29. $mail->send();
  30. ]]>
  31. </programlisting>
  32. </example>
  33. <note>
  34. <title>最低限の定義</title>
  35. <para>
  36. <classname>Zend_Mail</classname> でメールを送信するには、
  37. 最低 1 か所以上の受信者、送信者 (<code>setFrom()</code> を使用します)、
  38. そして本文 (テキストや HTML) を指定しなければなりません。
  39. </para>
  40. </note>
  41. <para>
  42. 大半の属性については、その情報を読み込むための "get"
  43. メソッドが用意されています。詳細は、API ドキュメントを参照ください。
  44. <code>getRecipients()</code> だけは特別で、
  45. これまでに追加されたすべての受信者アドレスを配列で返します。
  46. </para>
  47. <para>
  48. セキュリティの観点から、<classname>Zend_Mail</classname>
  49. はすべてのヘッダフィールドの改行文字 (<code>\n</code>) を取り除きます。
  50. これにより、ヘッダインジェクションを防ぎます。
  51. 送信者名およびあて先名中の2重引用符は単一引用符に、山括弧は角括弧に変更されます。
  52. もしその記号がメールアドレス中にある場合は除去されます。
  53. </para>
  54. <para>
  55. <classname>Zend_Mail</classname> オブジェクトのほとんどのメソッドは、
  56. 流れるようなインターフェイス形式でコールすることもできます。
  57. </para>
  58. <programlisting role="php"><![CDATA[
  59. $mail = new Zend_Mail();
  60. $mail->setBodyText('This is the text of the mail.')
  61. ->setFrom('somebody@example.com', 'Some Sender')
  62. ->addTo('somebody_else@example.com', 'Some Recipient')
  63. ->setSubject('TestSubject')
  64. ->send();
  65. ]]>
  66. </programlisting>
  67. </sect2>
  68. <sect2 id="zend.mail.introduction.sendmail">
  69. <title>デフォルトの sendmail トランスポートの設定</title>
  70. <para>
  71. <classname>Zend_Mail</classname> がデフォルトで使用するのは <classname>Zend_Mail_Transport_Sendmail</classname>
  72. です。これは、単に PHP の <ulink url="http://php.net/mail"><code>mail()</code></ulink>
  73. 関数をラップしただけのものです。
  74. <ulink url="http://php.net/mail"><code>mail()</code></ulink>
  75. 関数に追加のパラメータを渡したい場合は、
  76. 新しいインスタンスを作成する際のコンストラクタにパラメータを渡します。
  77. 新しく作成したインスタンスは、<classname>Zend_Mail</classname>
  78. のデフォルトのトランスポートとすることができます。
  79. あるいは <classname>Zend_Mail</classname> の <code>send()</code>
  80. メソッドに渡すこともできます。
  81. </para>
  82. <example id="zend.mail.introduction.sendmail.example-1">
  83. <title><classname>Zend_Mail_Transport_Sendmail</classname> トランスポートへの追加パラメータの渡し方</title>
  84. <para>
  85. この例は、<ulink url="http://php.net/mail"><code>mail()</code></ulink>
  86. 関数の Return-Path を変更する方法を示すものです。
  87. </para>
  88. <programlisting role="php"><![CDATA[
  89. $tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
  90. Zend_Mail::setDefaultTransport($tr);
  91. $mail = new Zend_Mail();
  92. $mail->setBodyText('This is the text of the mail.');
  93. $mail->setFrom('somebody@example.com', 'Some Sender');
  94. $mail->addTo('somebody_else@example.com', 'Some Recipient');
  95. $mail->setSubject('TestSubject');
  96. $mail->send();
  97. ]]>
  98. </programlisting>
  99. </example>
  100. <note>
  101. <title>セーフモード時の制限</title>
  102. <para>
  103. PHP をセーフモードで実行している場合、オプションの追加パラメータを指定すると
  104. <ulink url="http://php.net/mail"><code>mail()</code></ulink>
  105. 関数の実行に失敗する可能性があります。
  106. </para>
  107. </note>
  108. </sect2>
  109. </sect1>
  110. <!--
  111. vim:se ts=4 sw=4 et:
  112. -->