電子メールメッセージを送信します。
xp_sendmail( recipient = mail-address [, subject = subject ] [, cc_recipient = mail-address ] [, bcc_recipient = mail-address ] [, query = sql-query ] [, "message" = message-body ] [, attachname = attach-name ] [, attach_result = attach-result ] [, echo_error = echo-error ] [, include_file = filename ] [, no_column_header = no-column-header ] [, no_output = no-output ] [, width = width ] [, separator = separator-char ] [, dbuser = user-name ] [, dbname = db-name ] [, type = type ] [, include_query = include-query ] [, content_type = content-type ] )
一部の引数は固定値を指定し、下記のように Transact-SQL との互換性を保つために使用できます。
recipient 受信者のメールアドレスを指定する LONG VARCHAR パラメータ。複数の受信者を指定するときは、各電子メールアドレスをセミコロンで区切ります。
subject メッセージの件名フィールドを指定する LONG VARCHAR パラメータ。デフォルト値は NULL です。
cc_recipient cc 受信者のメールアドレスを指定する LONG VARCHAR パラメータ。複数の cc 受信者を指定するときは、各電子メールアドレスをセミコロンで区切ります。デフォルトは NULL です。
bcc_recipient bcc 受信者のメールアドレスを指定する LONG VARCHAR パラメータ。複数の bcc 受信者を指定するときは、各電子メールアドレスをセミコロンで区切ります。デフォルトは NULL です。
query この LONG VARCHAR は Transact-SQL との互換性のために提供されています。SQL Anywhere では使用されません。デフォルトは NULL です。
"message" メッセージの内容を指定する LONG VARCHAR パラメータ。デフォルトは NULL です。"message" は予約語であるため、"message" パラメータ名は二重引用符で囲む必要があります。
attachname この LONG VARCHAR パラメータは Transact-SQL との互換性のために提供されています。SQL Anywhere では使用されません。デフォルトは NULL です。
attach_result この INTEGER パラメータは Transact-SQL との互換性を保つ目的で提供されています。SQL Anywhere では使用されません。デフォルトは 0 です。
echo_error この INTEGER パラメータは Transact-SQL との互換性を保つ目的で提供されています。SQL Anywhere では使用されません。デフォルトは 1 です。
include_file 添付ファイルを指定する LONG VARCHAR パラメータ。デフォルトは NULL です。
no_column_header この INTEGER パラメータは Transact-SQL との互換性を保つ目的で提供されています。SQL Anywhere では使用されません。デフォルトは 0 です。
'no_output' この INTEGER パラメータは Transact-SQL との互換性を保つ目的で提供されています。SQL Anywhere では使用されません。デフォルトは 0 です。
width この INTEGER パラメータは Transact-SQL との互換性を保つ目的で提供されています。SQL Anywhere では使用されません。デフォルトは 80 です。
separator この CHAR(1) パラメータは Transact-SQL との互換性のために提供されています。SQL Anywhere では使用されません。デフォルトは CHAR(9) です。
dbuser この LONG VARCHAR パラメータは Transact-SQL との互換性のために提供されています。SQL Anywhere では使用されません。デフォルトは guest です。
dbname この LONG VARCHAR パラメータは Transact-SQL との互換性のために提供されています。SQL Anywhere では使用されません。デフォルトは master です。
type この LONG VARCHAR パラメータは Transact-SQL との互換性のために提供されています。SQL Anywhere では使用されません。デフォルトは NULL です。
include_query この INTEGER パラメータは Transact-SQL との互換性を保つ目的で提供されています。SQL Anywhere では使用されません。デフォルトは 0 です。
content_type この LONG VARCHAR パラメータは、"message" パラメータのコンテンツタイプを指定します (たとえば、text/html、ASIS など)。デフォルトは NULL です。content_type の値は検証されないため、無効なコンテンツタイプを設定すると、無効な電子メールや理解できない電子メールが送信されます。
content_type パラメータを ASIS に設定してヘッダを手動で設定します。この操作を行った場合、xp_sendmail プロシージャは、"message" パラメータに渡されたデータが正しく構成されたヘッダ付き電子メールであると想定して、ヘッダをさらに追加することはしません。ASIS を指定した場合は、データを他のパラメータに渡すことで通常なら自動的に指定されるヘッダも含めて、すべてのヘッダを "message" パラメータに手動で設定する必要があります。
この関数は INTEGER ステータスコードを返します。
MAPI と SMTP 用のシステムプロシージャのリターンコードを参照してください。
xp_sendmail は、xp_startmail または xp_startsmtp でセッションが開始されると、指定された受信者に電子メールメッセージを送信するシステムプロシージャです。このプロシージャには、任意の長さのメッセージを指定できます。xp_sendmail の引数値は文字列です。各引数の長さは、システムで使用可能なメモリ容量によって制限されます。
content_type 引数は、MIME 電子メールの要件を理解しているユーザが使用します。xp_sendmail では、ASIS が content_type として受け入れられます。content_type が ASIS に設定されると、xp_sendmail
はメッセージ本文 ("message") が正しく構成されたヘッダ付き電子メールであると想定し、ヘッダをさらに追加することはしません。ASIS を指定して、複数のコンテンツタイプを含むマルチパートメッセージを送信できます。MIME の詳細については、RFC
2045 ~ 2049 ( http://www.ietf.org/) を参照してください。
include_file パラメータで指定された添付ファイルは application/octet-stream MIME タイプとして base64 エンコードで送信され、データベースサーバに作成されます。
SQL Anywhere 10.0.0 以降では、SMTP 電子メールシステムで送信される電子メールは、件名行に 7 ビット ASCII ではない文字が含まれていると、エンコードされます。また、SMS 対応デバイスに送信された電子メールは、件名行に 7 ビット ASCII ではない文字が含まれていると、正しくデコードされないことがあります。
MAPI で電子メールセッションを開始する xp_startmail、または SMTP で電子メールセッションを開始する xp_startsmtp を実行します。
MAPI を使用して電子メールを送信する場合、content_type パラメータはサポートされません。
SEND EMAIL システム権限が必要です。
この例では、SMTP を使用してプレーンテキストメッセージを送信します。
CALL xp_startsmtp( 'doe@sample.com', 'corporatemail.sample.com' ); CALL xp_sendmail( recipient='jane.smith@sample.com', subject='This is my subject line', "message"='This text is the body of my email.\n' ); CALL xp_stopsmtp( ); |
この例では、SMTP を使用して HTML フォーマットのメッセージと添付ファイルを送信します。
CALL xp_startsmtp( 'doe@sample.com', 'corporatemail.sample.com' ); CALL xp_sendmail( recipient='jane.smith@sample.com', subject='HTML mail example with attachment', "message"='Plain text.<BR><BR><B>Bold text.</B><BR><BR>' || '<a href="www.sap.com">SAP Home Page</a>', content_type = 'text/html', include_file = '\\temp\\sendmail2.sql' ); CALL xp_stopsmtp( ); |
この例では、SMTP を使用してインライン HTML フォーマットのメッセージと添付ファイルを送信します。
CALL xp_startsmtp( 'doe@sample.com', 'corporatemail.sample.com' ); CALL xp_sendmail( recipient='jane.smith@sample.com', subject='Inline HTML mail example with attachment', "message"='Content-Type: text/html;\nContent-Disposition: inline; \n\n' || 'Plain text.<BR><BR><B>Bold text.</B><BR><BR>' || '<a href="www.sap.com">SAP Home Page</a>', content_type = 'ASIS', include_file = '\\temp\\sendmail3.sql' ); CALL xp_stopsmtp( ); |
この例では、SMTP を使用してインライン HTML フォーマットのメッセージと、署名および 1 つが ZIP ファイルである 2 つの添付ファイルを送信します。
BEGIN DECLARE content LONG VARCHAR; SET content = 'Content-Type: multipart/mixed; boundary="xxxxx";\n' || 'This part of the email should not be shown. If this ' || 'is shown then the email client is not MIME compatible\n\n' || '--xxxxx\n' || 'Content-Type: text/html;\n' || 'Content-Disposition: inline;\n\n' || 'Plain text.<BR><BR><B>Bold text.</B><BR><BR>' || '<a href="www.sap.com">SAP Home Page</a>\n\n' || xp_read_file( '\\temp\\johndoe.sig.html' ) || '--xxxxx\n' || 'Content-Type: application/zip; name="sendmail4.zip"\n' || 'Content-Transfer-Encoding: base64\n' || 'Content-Disposition: attachment; filename="sendmail4.zip"\n\n' || base64_encode( xp_read_file( '\\temp\\sendmail4.zip' ) ) || '\n\n' || '--xxxxx--\n'; CALL xp_startsmtp( 'doe@sample.com', 'corporatemail.sample.com' ); CALL xp_sendmail( recipient='jane.smith@sample.com', subject='Inline HTML mail example with signature and 2 attachments', "message"=content, content_type = 'ASIS', include_file = '\\temp\\sendmail4.sql' ); CALL xp_stopsmtp( ); END |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |