Top > OOoBasic > Generic > sendmail
*メールの作成 [#t421b950]

OpenOffice.org から簡単なメールを作成して,メールクライアントを使ってメールを送信することができます。これは,ファイルメニューの送信からメールを作成することと同じです。

#contents

**SimpleSystemMail サービス [#o6d19d2d]

メールの作成には com.sun.star.system.SimpleSystemMail サービスを利用します。サービスをインスタンス化するためにいつものように ''createUnoService'' ランタイム関数を使用します。

 Dim oSimpleSystemMail As Object
   oSimpleSystemMail = createUnoService("com.sun.star.system.SimpleSystemMail")

**メールクライアントの取得 [#se4dd47d]
メールクライアントをシステムから取得するために SimpleSystemMail サービスの ''querySimpleMailClient'' メソッドを使用します。

 Dim oSimpleMailClient As Object
   oSimpleMailClient = oSimpleSystemMail.querySimpleMailClient()

このメールクライアントを使用してメールを作成します。

**メッセージ [#n56cfbd2]

SimpleMailClient からメールを作成します。''createSimpleMailMessage'' メソッドを使います。

 Dim oSimpleMailMassage As Object
   oSimpleMailMessage = oSimpleMailClient.createSimpleMailMessage()

この SimpleMailMessage オブジェクトに対して,送信者や題名などを設定します。

***送信者 [#e798a45c]

受信者の設定には ''setOriginator'' メソッドを使います。メソッドの引数は string 型でのメールのアドレスです。

 oSimpleMailMessage.setOriginator("hoge@hogehoge.org")

取得には ''getOriginator'' メソッドを使います。
***受信者 [#k49e3047]

送信者の設定には ''setRecipient'' メソッドを使います。引数は string 型のメールアドレスを取ります。

 oSimpleMailMessage.setRecipient("hoge@hohoge.org")

送信者の取得には ''getRecipient'' メソッドを使います。
***題名 [#i6c7f162]

メールの題名を設定するには ''setSubject'' メソッドを使います。メッセージの題名をメソッドの引数に指定します。

 oSimpleMailMessage.setSubject("Mail Subject")

題名の取得には ''getSubject'' メソッドを使います。
***CC [#fc6c1a1b]

メールの CC 受信者としての設定は ''setCcRecipient'' メソッドを使います。
***BCC [#u8f5d104]

メールの BCC 受信者を設定するには ''setBccRecipient'' メソッドを使います。
***添付ファイル [#ldb3bf8b]

添付ファイルの設定には ''setAttachement'' メソッドを使います。このメソッドの引数には配列として添付ファイルのパスを与えます。

 Dim aFile() As String
   aFile() = Array("file:///C:/usr/test.txt")
   oSimpleMailMessage.setAttachement( aFile() )

**メッセージの送信 [#h4656f4b]

メッセージの送信は ''sendSimpleMailMessage'' メソッドで行います。メソッドの引数には SimpleMailMessage およびフラッグを与えます。二つ目の引数のフラッグには com.sun.star.system.SimpleMailClientFlags 定数を使って指定します。このフラッグで指定するのはメールクライアントの動作です。

//,40,60
,SimpleMailClientFlags,==
,DEFAULTS,デフォルト設定を使用
,NO_USER_INTERFACE,ユーザーインターフェースの表示なしでそのままメッセージを送信する
,NO_LOGON_DIALOG,ログオンダイアログが必要なときにダイアログを表示しない

**例 [#t6edc853]


 REM  *****  BASIC  *****
 
 Sub Main
 Dim oSimpleCommandMail As Object
 Dim oSimpleMailClient As Object
 Dim oSimpleMailMessage As Object
 Dim aFile() As String
 
   oSimpleCommandMail = createUnoService("com.sun.star.system.SimpleSystemMail")
   oSimpleMailClient = oSimpleCommandMail.querySimpleMailClient()
   oSimpleMailMessage = oSimpleMailClient.createSimpleMailMessage()
   'DbgInfo2sheet(oSimpleMailMessage)
   aFile() = Array("file:///C:/usr/test.txt")
   With oSimpleMailMessage
     .setRecipient( "hermione s41.xrea.com" )
     '.Originator = "hermione s41.xrea.com"
     .setSubject( "OpenOffice.org Mail" )
     '.setAttachement( aFile() )
   End With
   oSimpleMailClient.sendSimpleMailMessage(_
     oSimpleMailMessage,com.sun.star.system.SimpleMailClientFlags.DEFAULTS)
 End Sub

OpenOffice.org だけではメールを送信できず,ほかのメーラーアプリケーションが必要です。メーラーアプリケーションに依存してメールを送信します。

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes