Files
duplicati/Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
T
kenneth@hexad.dk 6822fc69fa Update issue #29
This adds the email feature to Duplicati.
Currently there is no GUI for this, just advanced options.
The options supported are:
--send-mail-to="Name <test@example.com>, Other <test2@example.com>, test3@example.com"
--send-mail-from="Backup Admin <admin@example.com>
--send-mail-subject="Duplicati %OPERATIONNAME% Report"
--send-mail-body="%RESULT%%"
--send-mail-url="tls://smtp.google.com:587"
--send-mail-username="username"
--send-mail-password="password"
--send-mail-level="Warning"
--send-mail-any-operation=true

The only required setting is --send-mail-to.
If the --send-mail-from is not set, it will use the host of the "to" and set "no-reply@" in front.
E.g. --send-mail-to="name@example.com" will cause the sender to be "no-reply@example.com".

If the --send-mail-url is not set, a DNS lookup will find the MX record for the first recipient domain,
and send directly to that. The url can be either "smtp://server:port" or "tis://server:port".

The --send-mail-subject and --send-mail-body parameters can contain placeholders like %RESULT%.
Each option will be exported like this, e.g. %volsize% or %use-ssl%. The special placeholders are:
%RESULT% - The result/log of the backup
%OPERATIONNAME% - The name of the operation, usually "Backup", but could be "Restore" etc.
%REMOTEURL% - The backend url
%LOCALPATH% - The path to the local folders involved (i.e. the folders being backed up)

The --send-mail-level can be either "Success", "Warning" or "Error". Default "Success" means all backups generate an email. "Warning" will only send an email if the backup caused a warning or an error. "Error" will only send an email if the backup failed.

The --send-mail-any-operation can be set to "true" if all operations (e.g. "Restore", "Cleanup", "DeleteAllButN", ...) should generate an email. By default only backup operations will send an email.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1436 59da171f-624f-0410-aa54-27559c288bec
2012-08-21 09:35:55 +00:00

145 lines
6.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{52826615-7964-47FE-B4B3-1B2DBDF605B9}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Duplicati.Library.Modules.Builtin</RootNamespace>
<AssemblyName>Duplicati.Library.Modules.Builtin</AssemblyName>
<FileAlignment>512</FileAlignment>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>Duplicati.snk</AssemblyOriginatorKeyFile>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DnsLib">
<HintPath>..\..\..\..\thirdparty\DnsLite\DnsLib.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Net" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ConsolePasswordInput.cs" />
<Compile Include="HttpOptions.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SendMail.cs" />
<Compile Include="Strings\ConsolePasswordInput.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>ConsolePasswordInput.resx</DependentUpon>
</Compile>
<Compile Include="Strings\HttpOptions.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>HttpOptions.resx</DependentUpon>
</Compile>
<Compile Include="RunScript.cs" />
<Compile Include="Strings\RunScript.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>RunScript.resx</DependentUpon>
</Compile>
<Compile Include="Strings\SendMail.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>SendMail.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Interface\Duplicati.Library.Interface.csproj">
<Project>{C5899F45-B0FF-483C-9D38-24A9FCAAB237}</Project>
<Name>Duplicati.Library.Interface</Name>
</ProjectReference>
<ProjectReference Include="..\..\Utility\Duplicati.Library.Utility.csproj">
<Project>{DE3E5D4C-51AB-4E5E-BEE8-E636CEBFBA65}</Project>
<Name>Duplicati.Library.Utility</Name>
</ProjectReference>
<ProjectReference Include="..\..\Logging\Duplicati.Library.Logging.csproj">
<Project>{D10A5FC0-11B4-4E70-86AA-8AEA52BD9798}</Project>
<Name>Duplicati.Library.Logging</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="Duplicati.snk" />
<Content Include="run-script-example.bat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<EmbeddedResource Include="Strings\ConsolePasswordInput.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>ConsolePasswordInput.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Strings\HttpOptions.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>HttpOptions.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Strings\RunScript.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>RunScript.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Strings\SendMail.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>SendMail.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ItemGroup>
<Content Include="run-script-example.sh">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>